无论才能、知识多么卓著,如果缺乏热情,则无异纸上画饼充饥,无补于事。

晚上不写入,不查询时,除了内存在调整外,es本身会做哪些事?

Elasticsearch | 作者 littleboy | 发布于2018年04月28日 | 阅读数:2178

晚上我修改了一些配置项,合并了段_forcemerge,将聚合的字段设置了一下属性eager_global_ordinals,并且预加载 index.store.preload聚合字段,第二天早上查询的时候1亿3000万的数据聚合,2秒3秒能响应确定不是缓存的原因,然后我写入数据后,响应时间又回到15到20秒的样子,然后做了forcemerge,清空cache,重启节点等操作,响应时间还是15到20秒的样子
已邀请:

JackGe

赞同来自: CarrieJin

es节点cpu高可以通过GET _nodes/{hostname}/hot_threads来观察热点线程在干什么。1亿3000万数据,索引shard怎么配置的,forcemerge到几个段,并且forcemerge的执行是在后台线程工作的,你需要_cat/segments/?v&h=shard,segment,size,size.memory
来查看合并后的结果。
对于聚合操作,如果聚合字段是确定的,可以把这个字段作为routing值,那么聚合操作上就在本shard上执行。

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自:

确认下你白天是不是还有其他操作?如:写入等

littleboy

赞同来自:

确定不是,有两次早上用的时候聚合查询很快,第一次持续了两分钟左右后面响应速度就下去了没有写入操作,第二次持续比较久,但我要测下这个配置是不是可持续的,然后随机往index的mapping中写数据,写的时候或是停止写入,响应时间又变得很长,应为业务主要是聚合操作,最近在测试优化聚合的效率

zqc0512 - andy zhou

赞同来自:

应该是放到内存cache中去了,你看看设置的多少?

要回复问题请先登录注册