官方仓库地址:GitHub - elastic/rally: Macrobenchmarking framework for Elasticsearch
参考资料:【最佳实践】esrally:Elasticsearch 官方压测工具及运用详解-阿里云开发者社区
环境说明:
centos 7
1. 安装依赖
yum install python3 python3-devel
2. 安装esrally
#最新版urllib3不兼容 需要指定版本高于1.20 低于1.26
pip3 install urllib3==1.24.1 -i https://pypi.douban.com/simple
pip3 install esrally -i https://pypi.douban.com/simple
3. 查看配置
esrally configure
4. 查看当前可用的
esrally list tracks
5. 查看当前可用的
esrally list cars
6. 查看可用的
esrally list races
7. 查砍当前已有的
esrally list pipline
8. 测试已有集群
esrally race --pipeline=benchmark-only --target-hosts=127.0.0.1:9200 --cluster-health=yellow --track=nyc_taxis --challenge=append-no-conflicts
esrally 的压测流程主要分为以下三个步骤:
1、 根据参数设定自行编译或者下载 es 可执行实例,然后根据 car 的约定,创建并启动 es 集群。如果使用 benchmark-only 的pipeline,则该步骤省略。
2.、根据指定 track 去下载数据,然后按照指定的 challenge 进行操作。
3.、记录并输出压测结果数据。
压测结果关注的指标:
1、throughput 每个操作的吞吐量,比如 index、search等
2、latency 每个操作的响应时长数据
3、Heap used for x 记录堆栈的使用情况
先搞懂每个 metric 的含义,然后根据自己的需求去确认自己要关注的指标