Index buffer
中, 以 refresh_interval
为间隔时间,定期清空 buffer
,生成 segment
,借助文件系统缓存的特性,先将segment
放在文件系统缓存中,并开放查询,以提升搜索的实时性indices.memory.index_buffer_size
- `Index.translog.durability`:默认是 request,每个请求都落盘。设置成 async,异步写入
- `Index.translog.sync_interval` 设置为 60s,每分钟执行一次
- `Index.translog.flush_threshod_size`: 默认 512 mb,可以适当调大。 当 translog 超过该值,会触发 flush
Index.routing.allocation.total_share_per_node
: 限定每个索引在每个节点上可分配的分片数(replicas and primaries) - 单个 bulk 请求体的数据量不要太大,官方建议大约5-15mb
- 写入端的 bulk 请求超时需要足够长,建议60s 以上
- 写入端尽量将数据轮询打到不同节点。