本文主要详细介绍一下Apache JMeter压测工具的安装与使用。JMeter的安装比较简单,重点是JMeter的使用及压测时候各参数准确的含义。
JMeter下载地址
1.JMeter安装
打开官网,官网下载地址是https://jmeter.apache.org/download_jmeter.cgi
点击红框处下载
将下载好的apache-jmeter-5.1.1.zip进行解压
点击jmeter.bat文件进行启动
若提示ERRORLEVEL=3错误,则是因为当前系统安装的jdk版本过低,不符合jmeter要求所致,安装对应版本的jdk即可解决问题
若启动没有问题,打开如下界面
2.JMeter使用
软件界面是英文切换语言—中文简体
创建线程组
创建HTTP请求
填写HTTP请求信息
添加监听器—察看结果树
添加监听器—聚合报告
点击绿色按钮开始压测
从察看结果树和聚合报告来查看压测返回的数据及分析
jmeter中每个测试计划至少需要包含一个线程组,当然也可以在一个计划中创建多个线程组,那么多个线程组之间又会怎样的顺序执行(串行还是并行)?在测试计划下面多个线程是并行执行的,也就是说这些线程组是同时被初始化并同时执行线程组下的Sampler的。
如果需要添加请求头信息—按下图添加HTTP信息头管理器
如果需要传递json数据—按下图进行传参
3.JMeter参数说明
从刚才的压测结果可以看出只执行了一次,通过下图对线程组参数的设置来调整执行方案及次数
3.1线程属性参数

线程数:一个用户占一个线程,200个线程就是模拟200个用户
Ramp-Up时间(秒):设置线程需要多长时间全部启动。如果线程数为200,准备时长为10,那么需要1秒钟启动20个线程。也就是每秒钟启动20个线程。
循环次数:每个线程发送请求的次数。如果线程数为200,循环次数为10,那么每个线程发送10次请求。总请求数为200*10=2000。如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本。
3.2聚合报告参数

Label: 请求的名称,就是我们在进行测试的httprequest sampler的名称
Samples: 总共发给服务器的请求数量
Average: 单个请求的平均响应时间,单位是毫秒
Median: 50%的请求的响应时间
90%Line: 90%的请求的响应时间
95%Line: 95%的请求的响应时间
99%Line: 99%的请求的响应时间
Min: 最小的响应时间
Max: 最大的响应时间
Error%: 错误率=错误的请求的数量/请求的总数
Throughput: 吞吐量即表示每秒完成的请求数
Received KB/sec: 每秒从服务器端接收到的数据量
Sent KB/Sec: 每秒从发送到服务器端的数据量
3.3HTTP请求参数

一个HTTP请求有着许多的配置参数,下面将详细介绍:
名称: 本属性用于标识一个取样器,建议使用一个有意义的名称。
注释: 对于测试没有任何作用,仅用户记录用户可读的注释信息。
服务器名称或IP : HTTP请求发送的目标服务器名称或IP地址。
端口号: 目标服务器的端口号,默认值为80 。
协议: 向目标服务器发送HTTP请求时的协议,可以是http或者是https ,默认值为http 。
方法: 发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。
Content encoding : 内容的编码方式,默认值为iso8859
路径: 目标URL路径(不包括服务器地址和端口)
自动重定向: 如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter 自动重定向到新的页面。
Use keep Alive : 当该选项被选中时,jmeter 和目标服务器之间使用 Keep-Alive方式进行HTTP通信,默认选中。
Use multipart/from-data for HTTP POST : 当发送HTTP POST 请求时,使用Use multipart/from-data方法发送,默认不选中。