使用JMeter进行压力测试
1、概述
在工作的时候,经常被领导问,这个服务可以抗住多大的并发量?吞吐量是多少?QPS、TPS是多少?服务器是否需要增加硬件?是否需要做集群?
刚工作的那几年,当被问到这些问题时,确实有点蒙,心里没有底。
因此虽然是开发工程师,但压力测试的知识还是需要懂一点的,至少能做到心里有底。
2、JMeter
JMeter是apache的开源项目,是用Java语言开发的,是一款简单易用的压力测试工具。
3、JMeter的下载
可以到 JMeter 官网(http://jmeter.apache.org/)下载
截图来源于JMeter官网
截图来源于JMeter官网
4、JMeter的运行
注意:运行JMeter前,先确保已安装JDK1.8+版本,并添加环境变量。
将下载的zip文件解压,在bin目录下找到 jmeter.bat(Windows) 或 jmeter(macOS) 文件,双击即可。
5、修改JMeter界面语言为简体中文
选择 Options —> Choose Language —> Chinese(Simplified)
选择后,界面的语言会变为简体中文。
6、配置测试计划
测试计划只需要修改下名称,其他选项默认即可。
7、添加并配置线程组
在测试计划上点击鼠标右键,选择 添加 —> 线程(用户)—> 线程组
配置以下参数:
线程数:有多少用户请求。
Ramp-Up时间(秒):这些用户请求在多少秒内发起完成,设置为0代表同一时刻并发。
循环次数:每个用户请求多少次。
(实际请求数 = 线程数 × 循环次数)
8、添加并配置 HTTP请求 取样器
通常我们测试的都是HTTP接口,在线程组上点击鼠标右键,选择 添加 —> 取样器 —> HTTP请求
配置以下参数:
协议:http 或 https。
服务器名称或IP:服务器的域名或IP地址。
端口号:接口的端口号。
HTTP请求类型:GET、POST、PUT、DELETE等。
路径:接口的请求路径。
参数:请求的参数(根据实际接口选填)。
9、添加并配置 HTTP信息头管理器
有的接口需要配置一些Header信息才能正常访问。
在线程组上点击鼠标右键,选择 添加 —> 配置元件 —> HTTP信息头管理器
根据实际情况添加消息头
10、添加并配置 监听器
压测的结果会显示在监听器上,因此我们需要他们,常用的是 察看结果树 和 聚合报告 这两个监听器。
察看结果树 可以查看每个请求的接口调用详情。
聚合报告 可以查看本次压测的指标结果。
11、开始压测
鼠标点击测试计划或叶子节点,点击【启动】按钮,即可开始压测。
点击 察看结果树,可以看到每个请求的详情。
点击 聚合报告,可以查看本次测试的指标结果。
其中 平均值、中位数、百分位、最小值、最大值的单位都是毫秒(ms)。
12、清除上次压测数据
当执行下一次压测时,需要先清理上一次的数据,点击【清除】或【清除全部】按钮即可。
13、综述
今天讲了使用JMeter进行压力测试,按照以上讲述的内容操作,应该可以完成大多数情况的压力测试。
还希望大家多多交流,共同进步。