ElasticSearch:索引文档基准测试

ElasticSearch: index document benchmarking

我正在寻找一些关于 ElasticSearch 服务器每秒可以索引多少请求的基准。当然,这会受到很多因素的影响,比如使用的分析器、ES节点的容量、集群中的节点数量等等。

我假设文档有大约 20 个字段,所有 "not_analyzed" 和 运行 在具有 i7 和专用 8GB 堆内存的单个节点上。

  1. 什么是预测或基准约。 ElasticSearch 服务器每秒处理的请求数?
  2. 假设它是问题 1 中的 x req/sec。那么当我们在集群中不断添加另一个具有相同配置的节点时,这个容量是如何增加的。当我们添加 2、3 或 4 个节点时,它是否像 2x、3x 和 4x 一样线性?

根据您描述的设备和特定的文档结构,我相信您每秒可以获取 5k-15k 的文档。影响这个数字的参数很多,包括:

1. refresh_interval - set it to something other than 1s (for example 30s, or 60s).
2. Sharding policy
3. usage of SSD.
4. "_all" field.
5. usage of bulk api with the "right" number of index requests.
6. indexing without document ids.
7. translog settings
...

索引吞吐量的增加应该与您拥有的节点数成线性关系。意思是,使用您所描述的两台相同的机器,您应该获得两倍的吞吐量。

这里 link 是我一个月前提出的一个问题,可能会对你有进一步的帮助。