更新时间:2023-09-07 GMT+08:00
Bulk路由优化
根据Elasticsearch默认的路由规则,Bulk请求中的每一条数据会被路由到不同的shard,当索引分片较多时,会产生大量的内部转发请求,在大规模写入场景下容易触发写拒绝。且在大规模集群中,长尾效应会导致Bulk请求时延较高。
通过指定配置项“index.bulk_routing”可以开启bulk路由优化,该优化可以减少内部转发的请求数量,在shard数较多的场景下,能够有效提升写入性能以及减少写入拒绝。
操作步骤
- 在“集群管理”页面,选择已创建的集群,单击操作列“Kibana”,登录Kibana界面。
- 在左侧导航栏,选择“Dev Tools”。
- 在“Dev Tools”页面,执行如下命令:
PUT my_index { "settings": { "index.bulk_routing": "local_pack" } }
表1 “index.bulk_routing”参数取值范围说明 参数取值
描述
default
使用Elasticsearch默认的路由机制,Bulk请求中的每一条记录会拆分后独立路由。
pack
单个Bulk请求的数据会被随机路由到同一个shard中。
local_pack
单个Bulk请求的数据会被路由到接收该Bulk请求的数据节点的本地shard中,如果该节点不包含对应index的shard,则会进行随机路由到其他包含该索引shard节点上。
父主题: 使用说明