1. 程式人生 > >esrally效能測試原理

esrally效能測試原理

1. 前提

esrally的執行不會影響當前系統elasticsearch的一切正常業務。

2. 效能測試原理

大致步驟概括如下:

第一步:安裝esrally,耗時會半小時到1個小時之間。

主要完成esrally必要元件安裝,更多的是elasticsearch的安裝。

elasticsearch安裝的兩種方式:

方式一:最常用的安裝方法,原始碼安裝。只需要執行esrally,等價於執行:

esrally race --pipeline=from-sources-complete --revision=current --track=geonames --challenge=append
-no-conflicts --car=defaults

方式二:指定elasticsearch版本進行安裝, 如下所示:

至此,esrally安裝成功,對應的elaticsearch安裝成功。

第二步:全面的測試。

從日誌可以檢視結果,日誌最終儲存檔案為:
/home/elasticsearch/.rally/benchmarks/races/2016-08-10-06-50-06/local/logs-geonames-append-no-conflicts-defaults.zip

可以檢視到如下資訊,我們能看到PUT/POST/GET/DELETE/HEAD等操作。
每條測試都記錄了狀態status,請求時間request。

2016-08-10 06:52:30,221 elasticsearch INFO GET http://localhost:39200/_cluster/health?wait_for_status=green&timeout=3s&wait_for_relocating_shards=0 [status:20        0 request:0.011s]

......

2016-08-10 06:52:34,674 elasticsearch INFO POST
http://localhost:39200/_bulk [status:200 request:4.264s]

……
2016-08-10 07:16:18,219 elasticsearch INFO DELETE

http://localhost:39200/_search/scroll/DnF1ZXJ5VGhlbkZldGNoBQAAAAAAACDMFlotSVZXOUkzUWFpTFFGWEVEZzhxcncAAAAAAAAgzhZaLUlW VzlJM1FhaUxRRlhFRGc4cXJ3AAAAAAAAIM8WWi1JVlc5STNRYWlMUUZYRURnOHFydwAAAAAAACDQFlotSVZXOUkzUWFpTFFGWEVEZzhxcncAAAAAAAAgzRZaLUlWVzlJM1FhaUxRRlhFRGc4cXJ3 [status:200 request :0.002s]
“`

第三步:統計、給出最終結果。 esrally會執行較長時間,完成如下幾類測試操作:

Racing on track [geonames] and challenge [append-no-conflicts] with car [defaults] Benchmarking indexing at 12590.4 docs/s [100% done]
Benchmarking stats (warmup iteration 100/100) [100% done] Benchmarking stats (iteration 100/100) [100% done] Benchmarking search (warmup iteration 100/100) [100% done] Benchmarking search (iteration 100/100) [100% done]

最終給出測試結果: “

_______ __ _____ / ____(_)___ ____ _/ / / ___/_________ ________ / /_ / / __ \/ __/ / __ \/ / \/ / _ \ / / / / / / / // / / / / // // / / / / // /// //_,// /_/__/____// __/

Metric Value
Min Indexing Throughput [docs/s] 12410
Median Indexing Throughput [docs/s] 12675.2
Max Indexing Throughput [docs/s] 13567
Indexing time [min] 158.259
Merge time [min] 29.5808
Refresh time [min] 8.4305
Flush time [min] 2.11967
Merge throttle time [min] 1.16355

…….

——————————————————————————————————
更多ES相關實戰乾貨經驗分享,請掃描下方【銘毅天下】微信公眾號二維碼關注。
(每週至少更新一篇!)

這裡寫圖片描述
和你一起,死磕Elasticsearch
——————————————————————————————————