rally 工具是 Elastic 官方开源的针对性性能压测工具。目前 Elasticsearch 的 nightly performance report 就是由 rally 产生的。对自己在做 ES 源码修改,或者ES 应用调优的人来说
,通过 rally 验证自己的修改效果,是一件很需要且容易的事情。
环境:python3.4+ ;pip3;JDK8;git 1.9+;gradle 2.1+
安装:
pip3 install esrally
安装部署请参照本博客其他文档。
由于elasticsearch的运行必须非root账户。esrally建议用非root账户执行。“race”表示Rally一次压测过程。你可以使用不同的数据集(称之为tracks)来进行压测。
配置:
esrally configure
按照提示输入java环境变量:/export/servers/jdk1.8.0_60
加强版配置:(一般不需要)
esrally configure --advanced-config
运行第一个案例:
esrally --distribution-version=5.0.0
可用tracks列表
esrally list tracks
离线测试数据
拷贝 .rally.zip --> /home/admin/.rally.zip
unzip .rally.zip
vim /home/admin/.rally/rally.ini 修改为
root.dir = /home/admin/.rally/benchmarks
default.url = /home/admin/.rally/benchmarks/tracks/default
理解:
data: 压测数据
distributions: ES安装包
races: 测试报告
tracks: 测试用例
离线方式运行
esrally --offline --pipeline=from-distribution --distribution-version=5.2.0 --track=tiny --challenge=append-fast-no-conflicts
默认情况下压测采用的数据集叫 geonames,是一个 2.8GB 大的 JSON 数据。ES 也提供了一系列其他类型的压测数据集。如果要切换数据集采用 --track 参数:
,通过 rally 验证自己的修改效果,是一件很需要且容易的事情。
环境:python3.4+ ;pip3;JDK8;git 1.9+;gradle 2.1+
安装:
pip3 install esrally
安装部署请参照本博客其他文档。
由于elasticsearch的运行必须非root账户。esrally建议用非root账户执行。“race”表示Rally一次压测过程。你可以使用不同的数据集(称之为tracks)来进行压测。
配置:
esrally configure
按照提示输入java环境变量:/export/servers/jdk1.8.0_60
加强版配置:(一般不需要)
esrally configure --advanced-config
运行第一个案例:
esrally --distribution-version=5.0.0
可用tracks列表
esrally list tracks
离线测试数据
拷贝 .rally.zip --> /home/admin/.rally.zip
unzip .rally.zip
vim /home/admin/.rally/rally.ini 修改为
root.dir = /home/admin/.rally/benchmarks
default.url = /home/admin/.rally/benchmarks/tracks/default
理解:
data: 压测数据
distributions: ES安装包
races: 测试报告
tracks: 测试用例
离线方式运行
esrally --offline --pipeline=from-distribution --distribution-version=5.2.0 --track=tiny --challenge=append-fast-no-conflicts
默认情况下压测采用的数据集叫 geonames,是一个 2.8GB 大的 JSON 数据。ES 也提供了一系列其他类型的压测数据集。如果要切换数据集采用 --track 参数: