常见的Elasticsearch写入配置优化如下:
1、调大bulk条数,控制每个请求在10MB到30MB之间,增加每次shard分到的doc条数,间接降低fsync的频率。
2、适当增加写入队列大小,避免集群偶尔抖动导致队列快速塞满而报错。
3、可通过开启translog async落盘,结合负载情况,进行适当调整。
PUT my_index {
"settings": {
"index": {
"refresh_interval": "60s",
"translog": {
"flush_threshold_size": "2gb",
"sync_interval": "100s",
"durability": "async"
},
"merge": {
"policy": {
"segments_per_tier": "30",
"max_merged_segment": "256m"
}
}
}
}
}
4、主分片数设置为数据节点个数,不建议设置为1, 详情可参考Shard评估 。
5、增加refresh_interval,如下:
PUT /your_index/_settings
{
"refresh_interval": 30s
}
提示:refresh_interval默认为1s。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。