ElasticSearch:索引文档基准测试

标签 elasticsearch 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我一个月前提出的一个问题可能会进一步帮助您。

关于ElasticSearch:索引文档基准测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28166100/

相关文章:

python - 如何在 Python 中进行 "performance-based"(基准)单元测试

c++ - 谷歌基准测试 : Assertion `has_range_x_' failed

java - NoSuchAlgorithmException[1.2.840.113549.1.1.1 KeyFactory 不可用];

c# - 如何使用 C# 运行 CURL 命令?

lua - 如何提高Redis服务器的CPU使用率?

elasticsearch - 如何在Elasticsearch中对执行进行基准测试?

javascript - 在ElasticSearch上的嵌套查询

elasticsearch - 按别名删除索引

scala - 使用elastic4s创建索引设置

linux - 如何解释 fio iops 日志文件?