暂无图片
为什么elasticsearch集群查询没有单机查询快?
我来答
分享
暂无图片 匿名用户
为什么elasticsearch集群查询没有单机查询快?

为什么elasticsearch集群查询没有单机查询快?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
shunwahⓂ️

ES集群慢,有时候es查询比较慢,此时在确认集群健康,green,indices数据green,集群负载正常后,可以打开该功能排查es查询慢的问题。

elasticsearch提供了非常灵活的搜索条件给我们使用,在使用复杂表达式的同时,如果使用不当,可能也会为我们带来了潜在的风险,因为影响查询性能的因素很多很多。

1.1 查询服务超时
最直观的现象就是提供查询的服务响应超时。

我们有时候写查询,为了图方遍,经常使用通配符*来查询,这有可能会匹配到多个索引,由于索引下分片太多,超过了集群中的核心数。就会在搜索线程池中造成排队任务,从而导致搜索拒绝。

1.2 查询延迟
主机CPU飙高

另一个常见原因是磁盘 I/O 速度慢,导致搜索排队或在某些情况下 CPU 完全饱和。

单机情况下:我根据条件查询出来2条数据,响应是20ms,如果我再次使用当前条件查询,响应一直在2–4ms之间,也就是说命中了缓存导致的结果,那么我直接使用请求往里面写入一条数据,符合当前查询条件的,查询之后,依然是2–4ms之间,同时把我新写入的数据也给查出来了,同理,我删除数据也是,命中缓存,且数据实时更新。

集群情况下:第一次查询速度在400ms,第二次查询速度在400ms,第三次查询速度在50ms,第四次也是50ms。猜测结论是,第三次和第四次命中了缓存,但是因为两次才命中缓存,猜测是不是第一次查询把查询结果落在了第一个机器上,数据缓存在第一个机器上;第二次查询把查询结果落在了第二个机器上,那么缓存也在第二个机器上。

所以才会出现,集群效果比单机效果差。

暂无图片 评论
暂无图片 有用 0
打赏 0
暂无图片
回答交流
Markdown


请输入正文
提交
相关推荐
Elasticsearch 索引名称可以按照时间范围搜吗?
回答 1
可以
elasticsearch全文索引是必须为单词才会去搜索吗?
回答 1
已采纳
单字也行如果是23个字,你要一个分词,然后根据分词才能搜索到组合词。你可以百度es 分词设置设置以后重启一定有效果。不重启没试过。
elasticsearch 集群启动是不是每一台都bin/elasticdearch -d ?
回答 1
如果是手动启动,是的,启动后会自动加入集群,或者如果是用的centos可以将服务管理托管给systemd。
elasticsearch 里有id列吗?
回答 1
有id,属于元数据字段,在插入数据时不指定id情况下由es自动创建
Elasticsearch聚合分组后, 怎么限制返回的条数?
回答 1
在aggs中,指定size的个数,默认为10,即返回10条聚合查询结果。想返回多少改成多少就可以了
elasticsearch 单机32核心64G 单节点es 每秒并发能抗住2万一秒的数据插入和更新吗?
回答 1
这个还要评估磁盘的属性,像一般SSD的加你这个配置随便整,20w\s都没问题。当然同时还要考虑其他因素,比如读的请求有多少
elasticsearch 5.6不支持bucket_sort有什么好的替代方案吗?
回答 1
用searchafter分页https://blog.csdn.net/Qensq/article/details/99681417
elasticsearch在没有备份的情况下删除了数据能恢复吗?
回答 1
已采纳
一般手段来说不能。找原厂问问吧。
有一个elasticsearch 集群部署完9300端口访问不了
回答 1
已采纳
请先telnet一下端口。可以看看127.0。0.1的这个端口。看看来起来没有?如果可以,那么可能是防火墙的问题。
elasticserach一分钟左右删除一个索引,这个速度正常吗?
回答 1
已采纳
具体要看index大小,以及磁盘io情况。
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~