【发布时间】:2026-01-24 18:55:02
【问题描述】:
我正在为我的项目进行弹性搜索的一些性能调整,我需要一些帮助来提高弹性搜索索引速度。我正在使用 ES 5.1.1,并且我设置了 2 个节点,其中包含 8 个分片作为索引。我有 2 个节点的服务器,16GB RAM 和 12 个 CPU,每个服务器分配 2.2GHz 时钟速度。我需要在 1.5 小时内索引大约 25,000,000 个文档,而我目前大约需要 4 小时。我已完成以下配置更改以缩短索引时间。
- 将“indices.store.throttle.type”设置为“无”
- 将“refresh_interval”设置为“-1”
- 将“translog.flush_threshold_size”增加到 1GB
- 将“number_of_replicas”设置为“0”
- 为索引使用 8 个分片
- 设置 VM 选项 -Xms8g -Xmx8g(RAM 大小的一半)
我正在使用批量处理器在我的 java 应用程序中生成文档,并且我正在使用以下配置来设置批量处理器。
批量操作数:10000
以 MB 为单位的批量大小:100
并发请求:100
刷新间隔:30
最初我可以在第一分钟索引 356167 左右。但随着时间的推移,它会减少,大约 1 小时后,每分钟大约 121280 个文档。
如何在一段时间内保持索引率稳定?有没有其他方法可以提高性能?
【问题讨论】:
标签: elasticsearch