使用Elasticsearch官方壓測工具ESRally對不同規格的阿里云ES實例進行壓力測試和壓力測試對比實驗,本文對壓測中涉及的重要指標和任務進行說明。
背景信息
ESRally是Elasticsearch官方提供的用于對ES集群進行壓力測試的工具。壓測的詳細說明和具體使用方法,請參見Rally官網和Elasticsearch官方壓測工具及運用詳解最佳實踐。
壓測指標Metric
表中僅列出部分重要指標供您參考,更多指標說明請根據已有說明進行類推,或參見esrally壓測工具使用文檔。
延遲(latency):提交一個完整請求所經歷的時間,即從提交請求到收到完整響應之間的時間段。包括等待(延遲)時間,即請求在準備好由Elasticsearch提供服務之前等待的時間。
服務時間(service time):Elasticsearch開始處理一個請求到收到返回結果之間的時間段。
錯誤率:錯誤響應相對于響應總數的比例。
指標類型 | 指標名稱 | 指標說明 |
主分片索引相關指標 | 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 latency | 50%的完整請求所經歷的時間。 |
90th percentile latency | 90%的完整請求所經歷的時間。 | |
99.9th percentile latency | 99.9%的完整請求所經歷的時間。 | |
100th percentile latency | 100%的完整請求所經歷的時間。 | |
服務時間相關指標 | 50th percentile service time | 50%的請求所經歷的服務時間。 |
90th percentile service time | 90%的請求所經歷的服務時間。 | |
99.9th percentile service time | 99.9%的請求所經歷的服務時間。 | |
100th percentile service time | 100%的請求所經歷的服務時間。 | |
錯誤率相關指標 | error rate | 索引的每個任務的響應錯誤率。 |
壓測任務Task
您可以從Task維度查看實例的吞吐量、延遲、服務時間、錯誤率等參數指標。
Operation | 說明 |
index-append | 索引。 |
index-stats | 索引狀態。 |
node-stats | 節點狀態。 |
default | 默認。 |
term | term查詢。 |
phrase | 短語精確查詢。 |
country_agg_uncached | agg無緩存。 |
country_agg_cached | agg有緩存。 |
scroll | 滾動。 |
expression | 表達式。 |
painless_static | 靜態腳本。 |
painless_dynamic | 動態腳本。 |
large_terms | 大量的term組合查詢。 |
large_filtered_terms | 大量的term組合過濾查詢。 |
large_prohibited_terms | 大量的term組合禁用查詢。 |
相關文檔
購買阿里云ES實例,請參見創建阿里云Elasticsearch實例。
評估ES使用規格和容量,請參見規格容量評估。