Elasticsearch壓測 – Ra

1. 安裝

這篇文章詳細描述了安裝Rally。

1.1. 前置條件

在安裝Rally之前請確保以下包已經安裝成功

  • Python3.4+ (驗證python3 –version應該列印 Python 3.4.0或以上)

pip3(驗證pip3 –version)

  • JDK8
  • git1.9+
  • Gradle2.13+(可選如果需要從源程式碼編譯則需要)
  • 非root用戶(由於ES2.0需要非root運行Rally也必須以非root運行)

1.2. 安裝Rally

sudo pip3 install esrally

2. 配置

安裝完成後需要配置Rally。首次運行esrally將會檢測配置文件是否丟失然後詢問你一些問題

./esrally

3. 運行Races

「race」表示Rally一次壓測過程。你可以使用不同的數據集(稱之為tracks)來進行壓測。

3.1. Tracks列表

./esrally list tracks

3.2. 運行race

默認執行geonames track需要下載可以自行下載數據集

http://benchmarks.elasticsearch.org.s3.amazonaws.com/corpora/geonames/documents.json.bz2

將下載文件放入/home/User/.rally/benchmarks/data/geonames中

3.2.1. 默認壓測

./esrally --distribution-version=2.2.1

此次將會下載elasticsearch-2.2.1.tar.gz包並將此包放入/home/User/.rally/benchmarks/distributions你也可以自己下載放入此中

3.2.2. 壓測插入

./esrally --distribution-version=2.2.1  --challenge=append-fast-no-conflicts --pipeline=benchmark-only

3.2.3. 壓測更新

./esrally --distribution-version=2.2.1  --challenge=append-fast-with-conflicts --pipeline=benchmark-only

3.2.4. 壓測已存在的es環境

當已經存在Elasticsearch部署環境則可以使用–target-hosts來指定

./esrally --target-hosts=172.16.54.135:9200  --challenge=append-fast-no-conflicts --pipeline=benchmark-only