Jmeter入门

1.下载安装

1.进入官网:http://jmeter.apache.org/
2.选择一个jmeter版本下载压缩包然后解压,页面有所需对应的java jdk的版本信息,因为JMeter是用Java写的,运行的时候需要Java,所以如果当前的系统没有安装jdk或者版本不兼容,运行的时候可能会报错出现不兼容等问题
3.然后配置环境变量
jdk环境变量设置:
计算机–>属性–>高级系统设置–>环境变量–>系统环境变量下面点击新建,变量名为JAVA_HOME,变量值为你安装JDK的目录(我的是:D:\Program Files\Java\jdk1.8.0_131)
然后再找到系统变量中的Path变量,选择后,点击编辑,在末尾处加上;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(其中的;是分隔符)
最后新增系统变量,变量名为classpath,变量值为.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;

测试我们的环境变量是否成功,在cmd窗口-输入命令javac,有如下的提示,则环境变量设置成功,提示命令有误则代表环境变量设置失败,请检查你的路径是否有问题
Jmeter入门
4.基本配置完成后,首先进到你的jmeter安装路径,找到bin文件夹,点击进去,找到jmeter.bat,鼠标右键用管理员方式运行,或者直接双击打开,此时会弹出2个界面:1.一个是命令窗口,使用jmeter的时候此命令窗口不能关,你缩小到电脑任务栏即可。2.还有一个界面是jmeter工作页面,你可以在里面进行相关的操作。具体如图
Jmeter入门
jmeter的工作区如下图
Jmeter入门
默认是英文显示,在Options–>Chooose Language–>可以选择切换成简体中文

2.Jmeter测试案例实操

1、添加本次测试计划 (右键–>添加–>线程(用户)–>线程组)
Jmeter入门
2.设置线程组参数,这里配置为:10个线程,同时启动,循环一次
Jmeter入门
(1)线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。
(2)Ramp-Up时间(秒)准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为10,准备时长为2,那么需要2秒钟启动10个线程,也就是每秒钟启动5个线程。
(3) 循环次数:每个线程发送请求的次数。如果线程数为10,循环次数为100,那么每个线程发送100次请求。总请求数为10x100=1000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。
(4)Delay Thread creation until needed:直到需要时延迟线程的创建。
(5)调度器:设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为永远)
持续时间(秒):测试持续时间,会覆盖结束时间
启动延迟(秒):测试延迟启动时间,会覆盖启动时间
启动时间:测试启动时间,启动延迟会覆盖它。当启动时间已过,手动只需测试时当前时间也会覆盖它。
结束时间:测试结束时间,持续时间会覆盖它。
3.添加协议及接口相关配置信息
(1)添加http请求
Jmeter入门
在http请求中写入接入url、路径、请求方式和参数等
Jmeter入门
4.新增监听器,查看测试结果
Jmeter入门
压测时可以选择聚合报告、图形结果、用表格查看结果,区别在于结果展现形式不同。
5.点击运行按钮开始压测,并查看结果
Jmeter入门Jmeter入门
(1)Label:每个 JMeter 的 element(例如 HTTP Request)都有一个名称属性,这里显示的就是名称属性的值
(2) #样本:请求数——表示这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示10*10=100
(3)平均值:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,以Transaction 为单位显示平均响应时间
(4)中位数:也就是 50% 用户的响应时间
(5)90% 百分位:90% 用户的响应时间
(6)最小值:最小响应时间
(7) 最大值:最大响应时间
(8)异常%:错误率——错误请求数/请求总数
(9) 吞吐量:默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
(10)接收KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec

一般而言,性能测试中我们需要重点关注的数据有: #样本 请求数,平均值 平均响应时间,最小值 最小响应时间,最大值 最大响应时间,异常% 错误率及吞吐量