我正在寻找一些关于 ElasticSearch 服务器每秒可以索引多少个请求的基准测试。当然,这会受到很多因素的影响,比如使用的分析器、ES节点的容量、集群中的节点数量等等。
我假设文档包含大约 20 个字段,全部为“not_analyzed”,并且在具有 i7 和专用 8GB 堆内存的单个节点上运行。
- 预计或基准测试大约是多少? ElasticSearch 服务器每秒处理的请求数?
- 假设问题 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我一个月前提出的一个问题可能会进一步帮助您。
关于ElasticSearch:索引文档基准测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28166100/