JMeter使用范围:用于测试静态和动态资源,如静态文件、Java小服务程序(Servlet)、CGI脚本(Perl脚本)、Java对象、数据库、FTP服务器等。
JMeter意义:可以对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能,也可以对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序是否返回了你的预期。
安装JMeter后会有两个窗口:CMD和GUI
备注:不能使用GUI运行压力测试,GUI仅用于压力测试的创建和调试,执行压力测试应使用命令,需要修改JMeter批处理文件的环境变量
一、JMeter安装
1)下载zip/tgz
http://jmeter.apache.org/download_jmeter.cgi
2)命令行解压安装包
tar xzvf apache-jmeter-2.13.tgz --> tgz文件
unzip apache-jmeter-2.13.zip --> zip文件
3)命令行进入bin目录下,启动JMeter
方法一:jmeter.bat
方法二:sh jmeter
4)Jmeter切换中文
bin\jmeter.properties中找到#language=en
将前面的注释【#】去掉,改为language=zh_CN
二、GUI创建测试计划
1)创建线程组
2)配置元件
3)构造HTTP请求
4)添加HTTP请求头
备注:因为我们要传输的数据为json,所以需设置一个Content-Type
5)添加断言
6)添加查看结果树
7)添加Summary Report
8)测试计划创建完成
三、CMD执行测试计划
1)配置环境变量
HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m"
if not defined HEAP (
rem See the unix startup file for the rationale of the following parameters,
rem including some tuning recommendations
set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=2048m
)
2)执行压力测试
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
[jmx file] :.jmx,测试计划文件路径
[results file] :.txt,测试结果文件路径
[Path to web report folder]:为web报告保存路径
举例:jmeter -n -t testplan/RedisLock.jmx -l testplan/result/result.txt -e -o testplan/webreport
四、知识点
1.测试计划包括一个或多个元素
2.测试计划至少有一个线程组
3.停止测试计划:
Stop(Control+"."),立即停止线程
Shutdown(Control+","),线程在任何当前工作结束时停止
4.测试计划所含元素:线程组、逻辑控制器、样本生成控制器、监听器、计时器、断言、配置元素
5.测试计划元素的执行顺序:配置元素-前置处理器-定时器-取样器-后处理器-断言-监听器
五、聚合报告

1)Label:请求名称
2)样本:样本总数量(线程总数*循环次数)
3)平均值:请求处理的平均时间,单位ms
4)中位数:50%用户的响应时间小于该值
5)90%、95%、99%:90%请求的响应时间没有超过这个值,剩余的请求耗时至少在这个值之上
6)最小值、最大值:耗时最少、最多的请求时间
7)异常%:错误率(异常请求数/总请求数)
8)吞吐量:服务器每秒处理的请求数
9)接受、发送:每秒从服务器接受、发送的字节数
755





