Jmeter之测试报告

时间:2024-12-23 09:07:31

当我们完成测试后,需要通过报告来查看测试结果

一、聚合报告

Jmeter之测试报告

Label:每个JMeter的element的Name值。例如HTTP Request的Name

#Samples:发出请求数量。例如:如第三行记录,模拟20个用户,循环100次,所以显示了2000

Average:平均响应时间(单位:)。默认是单个Request的平均响应时间,当使用了Transaction Controller时,也可以以Transaction为单位显示平均响应时间

Median:中位数,也就是50%用户的响应时间

90%Line:90%用户的响应时间

95%Line:95%用户的响应时间

99%Line:99%用户的响应时间

注:为什么要有*%用户响应时间?因为在评估一次测试的结果时,仅仅有平均事物响应时间是不够的。假如有一次测试,总共有100个请求被响应,其中最小响应时间为0.02秒,最大响应时间为110秒,平均事务响应时间为4.7秒,你会不会想到最小和最大响应时间如此大的偏差是否会导致平均值本身并不可信?

我们可以在95 th之后继续添加96/ 97/ 98/ 99/ 99.9/ 99.99 th,并利用Excel的图表功能画一条曲线,来更加清晰表现出系统响应时间的分布情况。这时候你也许会发现,那个最大值的出现几率只不过是千分之一甚至万分之一,而且99%的用户请求的响应时间都是在性能需求所定义的范围之内的;最低响应时间的值出现几率是很小的,实际99%的用户请求响应时间都要20000+。

Min:最小响应时间

Max:最大响应时间

Error%:本次测试中出现错误的请求的数量/请求的总数

Throughput:吞吐量。默认情况下标示每秒完成的请求数(具体单位如下图)

KB/sec:每秒从服务器端接收到的数据量。

压测结果的分析

  1、有错误率同开发确认,确定是否允许错误的发生或者错误率允许在多大的范围内;
  2、Throughput吞吐量每秒请求的数大于并发数,则可以慢慢的往上面增加;若在压测的机器性能很好的情况下,出现吞吐量小于并发数,说明并发数不能再增加了,可以慢慢的往下减,找到最佳的并发数;
  3、压测结束,登陆相应的web服务器查看CPU等性能指标,进行数据的分析;
  4、最大的tps:不断的增加并发数,加到tps达到一定值开始出现下降,那么那个值就是最大的tps。
  5、最大的并发数:最大的并发数和最大的tps是不同的概率,一般不断增加并发数,达到一个值后,服务器出现请求超时,则可认为该值为最大的并发数。
  6、压测过程出现性能瓶颈,若压力机任务管理器查看到的cpu、网络和cpu都正常,未达到90%以上,则可以说明服务器有问题,压力机没有问题。
  7、影响性能考虑点包括:数据库、应用程序、中间件(tomact、Nginx)、网络和操作系统等方面。

二、邮件观察仪

邮件观察仪:在线程跑失败或者成功时,可以设置是否发送邮件给对应的人员。

1.添加一个邮件观察仪

Jmeter之测试报告

2.填写基本内容

Jmeter之测试报告

Message中 :
From代表,发件人 
Address代表 收件人 
Success Limit 代表成功次数大于x时发送邮件 
Failure Limit 代表失败事务大于4时,发送邮件 
SMTP sever :
Host 填写邮件服务器名称 
Login发件人的邮箱地址 
点击TestMail 测试下是否可以发送成功,就可以投入使用了

3、生成HTML格式报告

前面已经介绍, 如果要做性能测试,需要在GUI上设计好你的Test Plan,设置各种场景和负载值,包括多少个线程,多少个用户,循环多少次、断言。设置好了保存,然后用命令行去启动性能测试,查看相关测试结果。

如下案例:

1. 打开图像界面,新建一个Thread Group

2. 新建三个Http Request,分别是百度新闻首页,和百度新闻财经,百度新闻体育

3. 添加一个Assertion,选择response assertion

4. 添加一个View Results Tree.

5. 总体界面如下

Jmeter之测试报告

Jmeter之测试报告

6. Thread Grouo设置如下

Jmeter之测试报告

Jmeter之测试报告

这里,你在图形界面的时候,最好设置都是1,测试通过后,再改成多个用户,然后保存本地xx.jmx文件

7. 三个Http请求分别如下

Jmeter之测试报告

8. Response Assertion 设置如下

Jmeter之测试报告

Jmeter之测试报告

9. 保存到本地,关闭JMeter

本地先在桌面创建一个文件夹:baidu-reports,用来保存HTML报告

10. cmd启动性能测试

cmd 先要cd到jmeter的bin目录,然后输入以下命令:

jmeter -n -t C:\Users\Anne\Desktop\jmeter\baidu.jmx -l C:\Users\Anne\Desktop\html.csv -e -o C:\Users\Anne\Desktop\baidu-reports

三个路径依次是:xxx.jmx文件路径,输出xxx.csv文件路径,要保存的http report的文件路径。

11. 查看HTTP 报告

在桌面的HttpReport文件夹,生成了多个文件

Jmeter之测试报告

对应的html文件,就是测试报告,打开过后就就可以看到测试结果

PS:补充一下,CSV文件以及HTML文件必须是不存在的,不然无法生存报告