使用Jmeter实现对Elasticsearch的查询性能测试

一、安装与使用

1、Jmeter下载地址:

https://jmeter.apache.org/download_jmeter.cgi

 

 

2、安装
下载后解压,并配置Jmeter环境变量,且依赖jdk
3、启动
进入bin目录,找到jmeter.bat,启动
4、常用配置
(1)汉化:Options->Choose Language
(2)查看运行日志:选项->日志查看,并可设置日志级别

二、ES查询性能测试

1、新建线程组

 

 

属性介绍:
(1)线程数:模拟用户数量
(2)Ramp-up 时间:达到指定线程数量所需要的时间,假如线程数为100,时间为10s,那就相当于10s内加载100个线程,每秒启动的线程数=100/10=10;
(3)循环次数:表面意思为循环的次数,实际循环启动的时间与第一次启动的时间基本相同,假如循环次数设置为2,以(2)中为例,则在10s内会再启动100个线程,实际每秒启动的线程数为100*2/10=20。

 

2、新建CSV导入配置
通过CSV可导入相应的数据,如es hosts或查询条件,通过调用参数完成相应的配置。

 

 CSV样例,第一列为es节点ip,第二列为查询条件(手机号)

 

3、新建HTTP信息头管理器
这里需要配置一下Content-type,否则在测试es时异常为100%。

 

 4、新建HTTP请求

 

 配置相关参数,es_index为索引名

 

 

 

5、新建汇总报告等
通过监听器可创建汇总报告、聚合报告、结果树等,方便观察

 

 

6、开始测试
上述配置完成后,点击运行,就可以观察测试结果了
以下是几个测试结果,可通过kibana观察相应索引的请求数
注:实现请求数跟客户端性能有一定关系,当达到一定峰值,可能客户端无法实际模拟相应的请求数。
如下为1000个线程,时间为0s(同时请求),相当于1000并发,测试4次,实际效果如图

 

 

同时,由图可见,查询请求过多会影响实时的写入

 

posted @ 2022-04-08 11:35  小跑、追幸福  阅读(772)  评论(0编辑  收藏  举报