Jmeter测试报告
一、引言
当我们在进行程序开发的时候,总是会穿插着测试,以确保软件的性能。今天,我就来讲一个较为简单的测试软件——Apache Jmeter。Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。总的来说,Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件。相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测试人员都必须要掌握的工具之一。
二、Jmeter的安装
(1)JDK的安装
由于Jmeter是基于java开发,首先需要下载安装JDK
- 官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
- 选择Java SE 8u211/ 8u212,点击JDK下载
- 安装下载的JDK
- 配置系统环境变量
(JDK的安装与配置这里不再赘述,有需要的去查阅java的安装步骤)
(2)Jmeter的安装
- 官网下载地址:http://jmeter.apache.org/download_jmeter.cgi
- 下载最新JMeter 5.1.1版本:apache-jmeter-5.1.1.zip
- 下载完成后解压zip包
- 环境变量设置
系统变量新建JMETER_HOME, 值为Jmeter路径,如:D:\1下载\apache-jmeter-5.1.1\apache-jmeter-5.1.1
修改CLASSPATH,添加:
%JMETER_HOME%/lib/ext/ApacheJMeter_core.jar;%JMETER_HOME%/lib/jorphan.jar;%JMETER_HOME%/lib/logkit-2.0.jar
5.启动JMeter 双击JMeter解压路径(apache-jmeter-5.1.1\bin)bin下面的jmeter.bat即可
三、测试过程
1.在jmeter文件目录下的bin文件夹打开jmeter.bat文件运行
2.右击testplan,选择add-threads(users)-thread group
3.右击创建的用户进程组,add-sampler-http request创建http请求
设置相应的参数:
4.右击进程组找到cookie管理器并创建,在浏览器中找到cookies,填入数据:
添加监视器:右键点击击线程组-add-listener-view results tree后即可运行测试
四、实验数据
当插入5000个线程:
当插入12500线程:
当插入20000线程:
五、实验数据比对
参数详解:
样本:总共发送到服务器的请求数
平均:总运行时间除以发送到服务器的请求数
吞吐量:服务器每分钟处理的请求数
标准偏差:服务器响应时间变化、离散程度测量值的大小。即数据的分布。
由线性图表可知:吞吐量于12500线程时达到较高的值,20000线程时吞吐量降低,预估秒级并发阈值在15000左右
具体数据对比如下(依次为5000、12500、20000)
参数详解:
Label:说明是请求类型,如Http,FTP等请求。
#样本:也就是图形报表中的样本数目,总共发送到服务器的样本数目。
平均值:也就是图形报表中的平均值,是总运行时间除以发送到服务器的请求数。
Median:也就是图形报表中的中间值,是代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。
90%line:是指90%请求的响应时间比所得数值还要小。
最小值:是代表时间的数字,是服务器响应的最短时间。
最大值: 是代表时间的数字,是服务器响应的最长时间。
异常%:请求的错误百分比。
吞吐量:这里是服务器每单位时间处理的请求数,注意查看是秒或是分钟。
KB/sec:是每秒钟请求的字节数。
当我们继续利用最小值、最大值、异常等数据进行对比,发现12500线程与20000线程之间数据差距较大,故推测系统秒级阈值为15000。表现优秀。
六、总结
这次,我们进行Jmeter测试工具的学习,学会了Jmeter的安装与基本测试的使用。在开发软件的时候,我们时不时的会犯一些我们不知道的错误,或者在代码上有很多不完善的地方,但我们通过Jmeter测试工具,可以简单地对软件进行压力和性能测试,发现软件中的不足。这对我们的软件开发帮助很大。我们也会在今后的编程生活中继续使用这类有效的、方便的测试工具,帮助我们完成具有较好性能软件的开发。