JMeter做压力测试教程及结果分析

一、测试工具:
       JMeter

二、JMeter介绍:
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。

三、Java环境的安装与配置:
(1)因为JMeter是使用JAVA写的,所以使用JMeter之前,先安装JAVA环境,

   oracle官网下载JDk https://www.oracle.com/technetwork/java/javase/downloads/index.html


 

 

 

配置变量

系统变量→新建 JAVA_HOME 变量 。  变量值填写jdk的安装目录(本人是 E:\Java\jdk1.7.0)

系统变量→寻找 Path 变量→编辑

在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

(注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)

系统变量→新建 CLASSPATH 变量

变量值填写   .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)

系统变量配置完毕

测试jdk是否安装成功,可在【开始】中搜索cmd,输入【java -version】

 

 


 

 

四、JMeter下载与使用:
   1.JMeter下载地址:在官网 http://jmeter.apache.org/ 

 

 

2.解压下载的二进制包,使用cmd命令进入bin目录,使用jmeter.bat启动程序。(注意直接双击jmeter.bat无法启动时需要使用Window+R,输入cmd,然后进入bin目录如下)

 

 

 

 3.启动之后会有两个窗口,一个cmd窗口,一个JMeter的 GUI

 

 

 

上面的意思就是:不要使用GUI运行压力测试,GUI仅用于压力测试的创建和调试;执行压力测试请不要使用GUI。使用下面的命令来执行测试:

jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]

 

 

 

五、创建测试
1.创建线程组

在“测试计划”上右键 【添加】-->【Threads(Users)】-->【线程组】

 

 

 

2.设置线程数和循环次数。我这里设置线程数为500,循环一次。

 

 

 

3..创建Http请求

在“线程组”右键 【添加-】->【samlper】-->【HTTP 请求】

 

 

 

4.添加察看结果树和聚合报告

在我们刚刚创建的线程组上右键 【添加】-->【监听器】-->【察看结果树】。添加聚合报告,右键 【添加】-->【监听器】-->【聚合报告】。

直接添加,然后点击运行按钮就可以看到结果了。

结果树分析:

 

 

 

通过察看结果树,我们可以看到每个请求的结果,其中红色的是出错的请求,绿色的为通过。

Thread Name(线程组名称): 线程组 1-24

Sample Start( 启动开始时间): 2019-02-15 15:00:14 CST

Load time(加载时长): 290

Connect Time:(连接时长) 86

Latency(等待时长): 174

Size in bytes(发送的数据总大小): 2212

Sent bytes:821

Headers size in bytes(发送数据的其余部分大小): 1162

Body size in bytes: 1050

Sample Count(发送统计): 1

Error Count(错误统计): 0

Data type ("text"|"bin"|""): text

Response code(返回状态码): 200

Response message(返回信息): OK

这里绿色的就说明请求是通过的,返回值是200,如果出现红色的×就说明请求失败,这时候可以通过右边的取样器结果和响应数据来查看结果。

聚合报告分析:

 

 

 

Sample:本次测试场景共运行多少线程;

 Average:平均响应时间; 

 Median:统计意义上的响应时间中值;

  90% line:所有线程中90%的线程响应时间都小于xx的值;

  Min:响应最小时间;

 Max:响应最大时间;

 Error:出错率;

Throughput - 吞吐量以“requests/second、requests /minute、 requests /hour”来衡量。 时间单位已经被选取为second,所以,显示速率至少是1.0,即每秒1个请求。 当吞吐量被保存到CVS文件时,采用的是requests/second,所以30.0 requests/second 在CVS中被保存为0.5

 

Kb/sec - 以Kilobytes/seond来衡量的吞吐量

六、测试结果:
(1)50个用户同时访问企业用户会议室预定页面,平均响应时间是0.146秒,最大的响应时间0.387秒,最小的响应时间是0.096秒,错误率为0。

 

 

 

(2)100个用户同时访问企业用户会议室预定页面,平均响应时间是2.295秒,最大的响应时间8.132秒,最小的响应时间是0.425秒,错误率为0。

 

posted @ 2020-05-28 13:55  cold、liu  阅读(5209)  评论(0编辑  收藏  举报