JAVA电商秒杀实战第五节——JMeter压力测试
JAVA电商秒杀实战第五节——JMeter压力测试
JMeter压力测试
什么是JMeter?
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
为什么要进行压力测试?
压力测试是通过不断向被测系统施加“压力”,测试系统在压力情况下的性能表现,考察当前软硬件环境下系统所能承受的最大负荷并帮助找出系统瓶颈所在,也就是我们可以模拟巨大的工作负荷以查看应用程序在峰值使用情况下如何执行操作。
秒杀系统JMeter压力测试
压力测试:这类测试通过载入更多的外部资源,并使系统组件超越其所设定的能力范围,试图使系统挂掉。
下载及安装
JMeter下载安装及入门教程:https://blog.csdn.net/wust_lh/article/details/86095924.
这篇博客里有详细的下载安装教程,上手十分方便。
配置参数
添加线程组,设置线程组参数:
设置你要测试的http请求:
此处展示的是商品列表的http请求
然后添加监听器查看结果,此处添加聚合报告进行查看:
关于聚合报告中参数的意义
Label:每个请求的名称,比如HTTP请求等
#Samples:发给服务器的请求数量
Average:单个请求的平均响应时间 毫秒ms
Median:50%请求的响应时间 毫秒ms
90%Line:90%请求响应时间 毫秒ms
95%Line:95%请求响应时间 毫秒ms
99%Line:99%请求的响应时间 毫秒ms
Min:最小的响应时间 毫秒ms
Max:最大的响应时间 毫秒ms
Error%:错误率=错误的请求的数量/请求的总数
Throughput:吞吐量,默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数。
Received KB/sec:每秒从服务器端接收到的数据量
Sent KB/sec:每秒从客户端发送的请求的数量
测试结果
聚合报告的结果: