请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

新版本es查询变慢问题

rockybean老师,我想问一下查询变慢的原因,或者有什么查询办法。

背景:
1.开始使用es6.6集群,查询耗时200ms以内,有flink实时写入。
2.改为使用的是es8.2集群,不进行数据写入时,查询速度在200ms以内。
3.增加flink实时写入数据后,查询耗时在800ms左右。
4. es6集群和es8集群处理器型号不同,但都是4核32G大小

测试过的方法:
1.用kibana查询profile,结果耗时很低。
2.es8换2台4核32G机器,耗时维持在800ms左右。
3.es8增加2台机器,增加1副本,耗时维持在800ms左右

正在回答 回答被采纳积分+3

1回答

rockybean 2022-10-28 17:50:42
  1. 这个耗时是 es response 里面的 took 时间吗?

  2. 还有,分享下 index  setting/mapping 和 查询语句

0 回复 有任何疑惑可以回复我~
  • 提问者 慕娘7328627 #1
    rockybean老师,是took时间。 基于上面所述的情况,如果不加入flink实时写,那查询耗时也是在200ms以内。所以我这两天测试了下,在没有其他修改的情况下,只是手动把当前写入索引的refresh_interval改成60s,然后再改回1s,耗时就回到200ms以内了。但是第二天又有新索引增加,而新索引refresh_interval没改动的情况下,查询耗时又会升高。动语句如下:
    Put access-log-2022-10-31/_settings
    {
     "refresh_interval": "60s"
    }
    
    1.问一下这个refresh_interval的修改由默认1s改成60s,再改回1s,是不是触发了什么
    2.另外这个语法,和文档里不一样,不太标准也能执行,是不是es做了些兼容。
    回复 有任何疑惑可以回复我~ 2022-10-31 09:41:54
  • rockybean 回复 提问者 慕娘7328627 #2
    1. 暂时没啥想法,es8 到 6 改动太多了,我去社区搜搜看
    2. 是的,做了兼容
    回复 有任何疑惑可以回复我~ 2022-11-01 09:10:04
  • 提问者 慕娘7328627 回复 rockybean #3
    感谢rockybean老师。补充两个细节:
    1. 增加了修改新增索引refresh_interval的脚本,执行时间是在索引新建后的1分钟,这1分钟内没什么数据量。连续执行修改refresh_interval到60s,再到1s , 间隔应该是在毫秒内。took时间不再增加,保持200ms以内。
    2. 另有一组 8台 8核64G节点集群,执行的写入读取任务与有问题这个集群基本基本一致,不需要修改refresh_interval ,took时间也在200ms以内。
    回复 有任何疑惑可以回复我~ 2022-11-03 14:03:06
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信