Elasticsearch查询时间增加了。

时间:2018-12-11 11:26:00

标签: elasticsearch

最近,我试图记下查询执行的平均时间。在不断触发弹性搜索查询时,我注意到有时响应中的take字段会突然增加。例如,如果查询正常返回4-6毫秒,它将在这之间意外返回30毫秒。 我的其他查询也是如此。因此,这种异常似乎不是特定于查询的。

有人可以解释在此查询中必填字段中确实发生的峰值吗?

1 个答案:

答案 0 :(得分:0)

虽然连续触发查询,但以下情况可能会导致花费的时间激增:

  1. 垃圾收集:每当内部触发大型垃圾收集过程时,Elasticsearch花费的时间预计会减少。变化取决于在处理上花费的时间。在某种程度上可以通过Kibana的监视页面来观察。在这种情况下,很可能会占用大量内存的聚合查询。
  2. 如果并行触发查询,则查询堆积的队列中可能会出现拥塞。由于多个线程执行了多个查询,因此这可能会在短时间内降低整体性能(增加的内存消耗)。
  3. 第三级活动:如果ES忙于优化段,这是IO密集型操作,则搜索查询可能会受到影响。如果对正在执行查询的同一索引执行另一项操作(如索引编制),那么也会产生影响。