不要急,总有办法的

ELK中elasticsearch如何关闭throttling indexing

Elasticsearch | 作者 rayshen | 发布于2015年12月19日 | 阅读数:10652

关于segment merge 触发索引速率限制,会影响我logstash 读kafka 写入es的速率,总是波动不稳定,忽高忽低。
如何真正的disable 这个限制呢   目的仅仅是想把磁盘io跑满, 
这是我的配置 
indices.store.throttle.max_bytes_per_sec: 100mb 
indices.store.throttle.type: none
index.refresh_interval: 30s
threadpool.bulk.queue_size: 4000
indices.fielddata.cache.size: 50%
尝试只配置 
indices.store.throttle.type: none 
也不生效, 仍然报
 


now throttling indexing: numMergesInFlight=6, maxNumMerges=5
stop throttling indexing: numMergesInFlight=4, maxNumMerges=5


 
增大
index.merge.scheduler.max_thread_count: 10

超过5也无效,日志里一直打印的是maxNumMerges=5, 这个默认是根据你的cpu核数算出来的,如果是默认不能修改的,还为什么加这个参数呢?
 
 
看官方的回答是即使关闭了也会触发限制,


That is the right setting to disable store throttling, but even without 
throttling writes MB/sec for merges, the merges can still fall behind, 
leading to index throttling. ES does this to protect the health of the 
index because too many segments will cause all sorts of trouble


 
 
还是日常线上正常就要存在这种限制?
 
elasticsearch 版本 1.7.4 
jvm 1.8.0_25    
20个节点,  每机器96G内存,7200的sata盘,每机器12块盘,
eps:目前在15w左右,后面随着业务接入还会增大,难道是我的节点太少了?    
 
后面我可能会考虑96G上面起两个es实例,每个30G,还是20个机器,但把节点从20扩到40,不知道效果怎么样,大家有这么跑过的吗?
 
 
已邀请:

rayshen

赞同来自:

已经知道问题出在哪了,各种坑,segment merge的性能调好了,对es的整体性能提升很大。

jiaofuyou

赞同来自:

你好,能否分享一下,你是怎样解决的,是什么问题呢
我也遇到这样的问题,谢谢
或者能否QQ请教下,我的QQ:148027252

zttech

赞同来自:

日志打印信息不就说明throttling生效了么?
而且限制segment merge,应该把type改为merge。
此外,建议将refresh time改为-1。这样你index速率肯定快。
 

dreams - 80后,苦逼IT男

赞同来自:

楼主自问自答,不准备把经验分享一下么?

hivefans

赞同来自:

楼主能否把解决后的参数调整分享下啊

要回复问题请先登录注册