本章节介绍通过Elasticsearch官方提供的Benchmark rally脚本,对华东1区不同规格的阿里云Elasticsearch实例(5.5.3版本)进行压测的结果,以及相关的压测指标和Operation说明。

总览

本章节使用Elasticsearch的官方压测工具esrally,并提供以下几种规格的阿里云Elasticsearch集群的压测结果:

同时提供了4核16 GB和2核8 GB的Elasticsearch集群压测的比较结果,详情请参见4核16 GB与2核8 GB的3个数据节点实例压测结果比较

在查看压测文档时,您可以参见本文的压测指标说明Operation说明,了解对应指标和Operation的详细说明。关于压测的详细说明及具体使用方法,请参见Elasticsearch官方压测工具及运用详解最佳实践

压测指标说明

在进行压测时,您可以参考下表查看相关指标的具体说明。
说明 下表中仅列出了部分重要指标供您参考,更多指标说明请根据已有说明进行类推,或者参见esrally压测工具使用文档
指标类型指标名称指标说明
主分片索引相关指标Cumulative indexing time of primary shards所有主分片索引累积时间总和。
说明 该时间总和是指多个indexing线程消耗CPU时间的总和,而不是自然时间。例如有M个indexing线程,运行了N分钟,那么此指标的总时间就是:M*N分钟,而不是N分钟。
Min cumulative indexing time across primary shards跨主分片索引累积时间的最小值。
Median cumulative indexing time across primary shards跨主分片索引累积时间的平均值。
Max cumulative indexing time across primary shards跨主分片索引累积时间的最大值。
Cumulative indexing throttle time of primary shards所有主分片索引时被限流的累积时间。
说明 累计时间是指索引被限流时indexing线程消耗的CPU时间总和,而不是自然时间。
Min cumulative indexing throttle time across primary shards跨主分片索引时被限流的累积时间的最小值。
Median cumulative indexing throttle time across primary shards跨主分片索引时被限流的累积时间的平均值。
Max cumulative indexing throttle time across primary shards跨主分片索引时被限流的累积时间的最大值。
Cumulative merge time of primary shards主分片的累积合并的运行时间,也是指线程消耗CPU的时间总和。
Cumulative merge count of primary shards主分片合并的累积次数。
说明 不是所有的分片都会有合并(merge)动作。
Min cumulative merge time across primary shards跨主分片索引合并累积时间的最小值。
Median cumulative merge time across primary shards跨主分片索引合并累积时间的平均值。
Max cumulative merge time across primary shards跨主分片索引合并累积时间的最大值。
Cumulative merge throttle time of primary shards主分片的累积合并限制时间,也是指线程消耗CPU的时间总和。
Min cumulative merge throttle time across primary shards跨主分片索引合并累积的时间最小值,也是指线程消耗CPU的时间总和。
Median cumulative merge throttle time across primary shards跨主分片索引合并累积的时间平均值,也是指线程消耗CPU的时间总和。
Max cumulative merge throttle time across primary shards跨主分片索引合并累积的时间最大值,也是指线程消耗CPU的时间总和。
Cumulative refresh time of primary shards主分片累积刷新的时间,也是指线程消耗CPU的时间总和。
Cumulative refresh count of primary shards主分片累积刷新的次数。
Min cumulative refresh time across primary shards跨主分片索引刷新时间的最小值。
Median cumulative refresh time across primary shards跨主分片索引刷新时间的平均值。
Max cumulative refresh time across primary shards跨主分片索引刷新时间的最大值。
Cumulative flush time of primary shards主分片索引事务数据从缓存冲洗到磁盘的累积时间,也是指线程消耗CPU的时间总和。
Cumulative flush count of primary shards主分片索引事务数据从缓存冲洗到磁盘的累积次数。
Min cumulative flush time across primary shards跨主分片索引,从缓存冲洗到磁盘累积时间的最小值,也是指线程消耗CPU的时间总和。
Median cumulative flush time across primary shards跨主分片索引,从缓存冲洗到磁盘累积时间的平均值,也是指线程消耗CPU的时间总和。
Max cumulative flush time across primary shards跨主分片索引,从缓存冲洗到磁盘累积时间的最大值,也是指线程消耗CPU的时间总和。
Store size索引的大小。不包括 translog和副本分片。
Translog size传输日志大小。
Heap used for segments所有主分片索引的segment数占用heap的量。
Heap used for doc values所有主分片索引的文档数占用heap的量。
Heap used for terms所有主分片索引的terms因子占用heap的量。
Heap used for norms所有主分片索引的norms因子占用heap的量。
Heap used for points所有主分片索引的points占用heap的量。
Heap used for stored fields所有主分片索引的字段存储使用heap的量。
Segment count所有主分片索引的segments数。
垃圾回收器指标Total Young Gen GC整个集群中年轻代垃圾收集器的总运行时间。
Total Old Gen GC整个集群老年轻代垃圾收集器的总运行时间。
吞吐量相关指标Min Throughput每个任务的最小吞吐量,即QPS的最小值。
Median Throughput每个任务的平均吞吐量,即QPS的平均值。
Max Throughput每个任务的最大吞吐量,即QPS的最大值。
延迟相关指标50th percentile latency50%的完整请求所经历的时间。
90th percentile latency90%的完整请求所经历的时间。
99.9th percentile latency99.9%的完整请求所经历的时间。
100th percentile latency100%的完整请求所经历的时间。
服务时间相关指标50th percentile service time50%的请求所经历的服务时间。
90th percentile service time90%的请求所经历的服务时间。
99.9th percentile service time99.9%的请求所经历的服务时间。
100th percentile service time100%的请求所经历的服务时间。
错误率相关指标error rate索引的每个任务的响应错误率。
说明
  • 延迟(latency):提交一个完整请求所经历的时间,即从提交请求到收到完整响应之间的时间段。包括等待(延迟)时间,即请求在准备好由Elasticsearch提供服务之前等待的时间。
  • 服务时间(service time):Elasticsearch开始处理一个请求到收到返回结果之间的时间段。
  • 错误率:错误响应相对于响应总数的比例。

Operation说明

您可以从下表中的Operation维度去查看分析吞吐量、延迟、服务时间、错误率等参数指标。
Operation说明
index-append索引。
index-stats索引状态。
node-stats节点状态。
default默认。
termterm查询。
phrase短语精确查询。
country_agg_uncachedagg无缓存。
country_agg_cachedagg有缓存。
scroll滚动。
expression表达式。
painless_static静态脚本。
painless_dynamic动态脚本。
large_terms大量的term组合查询。
large_filtered_terms大量的term组合过滤查询。
large_prohibited_terms大量的term组合禁用查询。