在Win10下部署好JMeter后(参阅:Win10下Jmeter的安装与部署),即可使用JMeter开始对需要的系统或服务进行性能测试。
JMeter支持以下类型的测试:
序号 | 支持协议类型 |
1 | Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET,...) |
2 | SOAP / REST Webservices |
3 | FTP |
4 | Database via JDBC |
5 | LDAP |
6 | Message-oriented Middleware (MOM) via JMS |
7 | Mail - SMTP(S), POP3(S) and IMAP(S) |
8 | Native commands or shell scripts |
9 | TCP |
10 | Java Objects |
在这里,我们将对SOAP接口服务性能测试进行描述,开始我们的性能测试之旅。
第一步:启动JMeter
首先进入JMeter的程序主目录(示例目录为“D:\Tools\JAVA\apache-jmeter-5.1.1\bin”),点击jmeter.bat启动JMeter。
系统将打开一个命令提示符界面,然后打开GUI图形界面供用户进行配置、展示、运行用例等操作。
第二步:创建线程组
首先需要创建一个线程组,在测试计划(TestPlan)上右键选择添加(Add)-->用户线程(Threads)-->线程组(Thread Group)进行创建。
线程组中配置参数如下图所示
主要涉及到修改的参数包括用户线程数量(Number of Threads)、加载线程时长(Ramp-up Period)、轮询次数 (Loop Count)。这里可以先采用默认值进行简单的测试体验,实际测试时需要根据性能要求进行填写。
第三步:创建用例请求
在线程组上添加一个用例,如上图所示,添加一个HTTP Request请求。
修改的配置参数包括
Protocol | 请求协议,默认是HTTP,根据需要填写 |
Server Name or IP | 服务器名称或IP地址,一般在项目中都直接填写IP,填写服务器名称需要DNS等名称服务器支持或者本地HOSTS文件支持 |
Port Number | 服务器请求端口 |
Method | 请求方法,包括GET、POST、UPDATE等常见REST方法 |
Path | 请求接口Url地址 |
Content Encoding | 内容字符编码,可填写utf-8或gb等字符集 |
Parameter/Body | Parameter里面填写的是url上需要的参数,Body一般填写json或xml请求体 |
上图中请求体使用的XML内容,并且使用了外部csv文件作为参数传入,在基本测试时,可将参数值(${reqNo})使用实际数据代替。${reqNo}是在使用外部CSV文件进行测试时使用,具体在后续进行描述。
第四步:创建结果监听器
该监听器主要用于每次请求查看请求结果。
第五步:创建结果报告
该报告主要用于查看请求样例数、吞吐率、失败率等结果。在该页面没有具体操作,后续进行描述。
第六步:执行用例
通过点击上图两个地方的启动键启动测试。
查看结果集
查看测试汇总报告
Lable | 请求用例名称,要注意的是在一个线程组中可执行多个不同的请求用例 |
#Samples | 用例数量,每发起一次请求事务都将进行计数 |
Average | 平均响应时间,单位ms |
Min | 最小响应时间,单位ms |
Max | 最大响应时间,单位ms |
Std. Dev. | 偏离量,越小表示越稳定 |
Error | 失败率 |
Throughput | 每秒事务数(吞吐率),即TPS指标 |
Received | 每秒从服务端接收的字节数 |
Sent | 每秒从客户端(本机)提交到服务端的字节数 |
还有一个聚合报告(Aggregate Report),参数也差不多。
相对于汇总报告增加了几个参数
Median | 中位数,也就是50%用户事务的响应时间 |
90%Line | 90%用户事务的响应时间 |
95%Line | 95%用户事务的响应时间 |
99%Line | 99%用户事务的响应时间 |