悟空,拿我的打狗棒来

为什么连续发起查询时,第二次居然会变慢?

Elasticsearch | 作者 Boc_lyz | 发布于2020年03月14日 | 阅读数:3077

我们项目刚开始用ES,在这一次的需求里,我们要根据一些filter条件获取某几个字段的平均值结果,是的,条件都是filter。
做测试时发现,不断执行同一个查询,第一遍稍慢,第二遍非常慢,后面几遍很快。
按我理解,第一次查时数据应该缓存下来了,应该是越来越快才对啊
 

这是为什么呢?
 
对了,我输入的filter在索引里没有匹配的,是空集
已邀请:

God_lockin

赞同来自:

有没开下profile看看ES在做啥?
 
是每个query的第一/第二次都有这个现象吗?

byx313 - BLOG:https://www.jianshu.com/u/43fd06f9589c

赞同来自:

查询过大引发了GC?试试查询第一次以后看看集群状况

kennywu76 - Wood

赞同来自:

如果开了复制片,前两次查询会分别落到主片和复制片所在的节点。 是否有某个节点配置上或者性能有问题造成比较慢?  查询的url里可以通过指定preference参数,让查询只针对某些shard或某些node,加这个参数排查下是否是上面说的问题。 参考: https://www.elastic.co/guide/e ... rence
 

要回复问题请先登录注册