ES写入性能的提升方案

2023-11-04

从社区上看到一个问题,回答了一下:

 

 

总结了下提高写入性能的方案:

服务端:

1. refresh : refresh_interval(1s) / indices.memory.index_buffer_size(10%)

2. translog :

Index.translog.durability(request,每个请求都落盘)--->async(异步写入)                        

Index.translog.sync_interval---->60s                        

Index.translog.flush_threshod_size(512m,触发flush)--->增大

3. 分片设定:

副本设为0,完成后再增加                        

total_share_per_node--->均匀分片

4. 队列适当增大

5. 线程数 = CPU核心数 + 1

6. mapping:dynamic设置成false(避免不必要的字段索引)

 

客户端:

1. 多线程、批量写,单个bulk请求体数据量不能太大,5-15m

2. 写入端bulk请求超时时间建议60s以上

3. 写入端轮询到不同节点

4. 使用ES自动生成的文档ID

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ES写入性能的提升方案 的相关文章

随机推荐