首页 > 其他分享 >ES毛刺问题

ES毛刺问题

时间:2024-09-23 17:50:49浏览次数:9  
标签:index 缓存 毛刺 写入 refresh 问题 flush ES

es 毛刺问题

在写入时,边写边查并不会出现明显毛刺,但在写入时不查询,写入完成后再查询会出现明显毛刺。下图的三个毛刺是在是用反转索引时,写入完成后切换索引时出现。

通过 remove 和 add 别名可以无感切换索引

/_aliases
{
  "actions": [
    {
      "add": {
        "index": "index-2",
        "alias": "index"
      }
    },
    {
      "remove": {
        "index": "index-1",
        "alias": "index"
      }
    }
  ]
}

以下是优化方法,其中的 1 ,是不做任何处理的情况下的毛刺。

2 是在写入完成后进行缓存预热后再切换的毛刺。

/_search
{
  "query": {
    "match_all": {}
  }
}

3 是在写入完成后,手动进行 flush 将系统缓存写入硬盘,再进行段合并后的毛刺。

/_flush

/_forcemerge?max_num_segments=1

4 是先进行 flush 和段合并再 进行缓存预热后的毛刺。

在多次测试中,手动 flush 段合并和数据预热都可以降低毛刺,有时段合并的效果更好,有时数据预热的效果更好,由于我这里是人工操作,在发送请求时会有时间间隔,所有没有进行 refresh ( refresh 操作默认 1 秒 1 次,可设置 refresh_interval 来调整),如果操作时间间隔短,需要先进行 refresh 将数据从缓冲区缓存刷新入系统缓存生成段文件( segment ),然后再进行后续的刷入硬盘、段合并等操作。

标签:index,缓存,毛刺,写入,refresh,问题,flush,ES
From: https://www.cnblogs.com/yinchrn/p/18427515

相关文章

  • Codeforces Round 973 (Div. 2)
    A.Zhan'sBlender有\(n\)个水果,每秒可以消耗\(\min\{x,y\}\)个,问需要多少时间。整数除法的上取整操作即可。点击查看代码#include<bits/stdc++.h>usingnamespacestd;#definelllonglong#defineullunsignedlonglongintread(){intx=0;boolf=......
  • 多线程问题:异常处理,单例
    1)多线程异常处理多线程中如何捕获抛出异常到主线程a)catch中使用std::current_exception();获得正在处理的异常b)通过引用类型std::exception_ptr&_ex_ptr传出c)std::rethrow_exception(ex_ptr);重新抛出异常usingnamespacestd; try{ std::exception_ptrex_ptr;......
  • ListBox show image and refresh automatically via System.Timers.Timer per 1 milli
    <Windowx:Class="WpfApp403.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft......
  • VMware vSphere ESXi7.0、8.0密钥
    VMwarevSphere7.x   **vSphereESXi7.0EnterprisePlus**=======================================   JJ2WR-25L9P-H71A8-6J20P-C0K3F   HN2X0-0DH5M-M78Q1-780HH-CN214   JH09A-2YL84-M7EC8-FL0K2-3N2J2=======================================   **vC......
  • 漆包线工厂生产管理MES系统功能介绍
    漆包线工厂的生产管理难点主要在于确保高质量的产品输出同时维持高效的生产效率。这包括精确控制漆包线的涂漆厚度与均匀性,以保证绝缘性能和电气性能;管理多样化的原材料库存,以应对不同客户需求;以及优化生产流程,减少断线、划伤等次品率,同时实现成本控制与节能减排目标。此外,员工技能......
  • 数模方法论-无约束问题求解
    一、基本概念        无约束问题在数学建模中是指优化过程中没有任何限制条件的情况。这种问题旨在寻找一个决策变量集合,使得某个目标函数(如成本、效益或其他需要优化的量)达到最大或最小值。具体来说,无约束问题通常可以表示为:其中是目标函数,是决策变量。在这种情况......
  • ESP32等单片机学习和研究的迷宫-传统和现代-端和云-Arduino IDE和wokwi web
    ESP32等单片机学习和研究的迷宫-传统和现代-端和云-Arduino和wokwiESP32等单片机学习和研究的迷宫-传统和现代-端和云-Arduino和wokwi什么是迷宫?不合适的学习和研究方式,花费大量的精力和时间,收效甚微。这种又称之为学习和研究的“黑洞”出路从传统到现代:降本增效!E......
  • The 2024 ICPC Asia East Continent Online Contest (I)
    Preface打的一坨,直接被Div.2学弟吊起来打这场主要是中期的Easy~mid写的太慢,导致中后期题没时间写同时封榜后的决策也有点问题,没有全队All-in一个题而是让徐神去写当时1/27的K,虽然可能徐神来想H我们也出不来但感觉还是跟榜适合我们队的level赛后发现H反着填右括......
  • AtCoder Regular Contest 184 D Erase Balls 2D
    转化计数对象。直接数最终剩下的球的集合似乎并不好做。考虑数选择的球的集合(显然选择的顺序不重要,只有选择了哪些球重要)。先把所有球按\(x\)坐标从小到大排序。设我们选择的球的下标为\(i_1<i_2<\cdots<i_k\)。那么能选择这些球当且仅当\(y_{i_1}>y_{i_2}>\cdots......
  • Codeforces Round 972(Div.2)题解
    CodeforcesRound972(Div.2)题解A.SimplePalindrome贪心贪心,尽可能元素数量平均,并且相同字母放在一起。#include<bits/stdc++.h>usingnamespacestd;#definefffirst#definesssecond#definepbpush_back#defineall(u)u.begin(),u.end()#defineendl'\n'#de......