关于segment merge 触发索引速率限制,会影响我logstash 读kafka 写入es的速率,总是波动不稳定,忽高忽低。
如何真正的disable 这个限制呢 目的仅仅是想把磁盘io跑满,
这是我的配置
indices.store.throttle.type: none
也不生效, 仍然报
增大
超过5也无效,日志里一直打印的是maxNumMerges=5, 这个默认是根据你的cpu核数算出来的,如果是默认不能修改的,还为什么加这个参数呢?
看官方的回答是即使关闭了也会触发限制,
还是日常线上正常就要存在这种限制?
elasticsearch 版本 1.7.4
jvm 1.8.0_25
20个节点, 每机器96G内存,7200的sata盘,每机器12块盘,
eps:目前在15w左右,后面随着业务接入还会增大,难道是我的节点太少了?
后面我可能会考虑96G上面起两个es实例,每个30G,还是20个机器,但把节点从20扩到40,不知道效果怎么样,大家有这么跑过的吗?
如何真正的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,不知道效果怎么样,大家有这么跑过的吗?
5 个回复
rayshen
赞同来自:
jiaofuyou
赞同来自:
我也遇到这样的问题,谢谢
或者能否QQ请教下,我的QQ:148027252
zttech
赞同来自:
而且限制segment merge,应该把type改为merge。
此外,建议将refresh time改为-1。这样你index速率肯定快。
dreams - 80后,苦逼IT男
赞同来自:
hivefans
赞同来自: