性能测试工具Jmeter安装及使用教程

1.  环境准备

设备名称

应用API:内存及CPU配置:cpu>=4核,内存>=16GB,

工具:Jmeter5.2.1

jdk1.8.0_144

系统

MacBookPro:10.15.4,

windows server 2016(32核,64G)

2.安装部署

2.1 Jmeter环境搭建实施

2.1 JDK安装

①.JDK下载地址:

下载地址Java Downloads | Oracle

②.配置JDK环境变量:右键计算机属性->高级系统设置->系统属性->高级->环境变量->添加如下的系统变量

变量名:【JAVA_HOME】

变量值:【D:Program FilesJavajdk1.8.0_92】【jdk安装路径】

     变量名:【path】

变量值:【;%JAVA_HOME%in;】

     变量名:【CLASSPATH】

变量值:【.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;】【.不能漏】

③.验证JDK:运行cmd->输入java -version->显示java版本就表示jdk安装成功

2.2 安装配置Jmeter

2.2.1 下载解压Jmeter安装包

官网地址:Apache JMeter – Download Apache JMeter

2.2.2 配置Jmeter环境变量

按下面变量名和变量值配置Jmeter系统环境变量

变量名:【JMETER_HOME】

变量值:【D:Program Filesjmeterapache-jmeter-3.0】(根据实际的jmeter解压路径填写)

变量名:【CLASSPATH】

变量值:

%JMETER_HOMElibextApacheJMeter_core.jar;%JMETER_HOME%libjorphan.jar;%JMETER_HOME%liblogkit-2.0.jar;

2.2.3 启动Jmeter

双击Jmeter解压路径(apache-jmeter-3.0in)的bin下面,的双击ApacheJMeter.Jarjmeter.bat

3.使用教程

3.1 新建一个线程组

3.2 设置线程组参数。

这里配置为:10个线程,同时启动,循环一次。

3.3 新增http请求默认值

 在上一步创建的线程组上,新增-取样器-http请求默认值,所有的请求都会使用设置的默认值,这设置协议为http,IP为localhost,端口为8080。

3.4 新增http请求默认值。 

在上一步创建的线程组上,新增http请求默认值,所有的请求都会使用设置的默认值,这设置协议为http,IP为localhost,端口为8080。

3.5 添加要压测的http请求。

3.6 新增监听器,用于查看压测结果。

这里添加三种:聚合报告、图形结果、用表格查看结果,区别在于结果展现形式不同。

3.6 点击运行按钮开始压测,并查看结果。

4.报告组成

<性能测试参数>

Label:请求的名称

Samples:当前请求的数量。

Error:当前请求失败的百分比。

Median:中间值,单位毫秒,一半的服务器响应时间低于该值,而另一半高于该值。

Average:平均值,单位毫秒,所有请求的平均响应时间。

Min:请求的最小服务器响应时间,单位毫秒。

Max:请求的最大服务器响应时间,单位毫秒。

Received KB/sec :接受请求的大小,单位字节。

Sent KB /sec:是每秒钟发送请求的个数。

开启的线程数曲线图(上图)

服务器响应时间曲线图(上图)

Number of transaction/sec 每秒事务请求数(上图)

5.报告分析

1、参照公司项目性能测试执行标准进行可行性分析:

例如:平均响应时间<= 5000ms、CPU使用率低于70%、报错率低于3%等等,具体执行标准根据公司需要来判定

2、梯度压力测试分析

  1)平均响应时间梯度对比,各操作的响应时间随着用户数的增加呈上升趋势,具体参照标准看是否在可接受范围

  2)系统资源利用率:CPU利用率分析,当随着用户数的增加时看CPU利用率是否均在正常范围内,系统表现是否良好

  3)系统处理能力分析:在无基础数据的情况下,系统处理能力随着用户数的增加呈线性上升趋势,即系统无性能瓶颈,当达到某一特定用户数是看是都满足需求的处理能力

3、深度分析举例

分析:
用户在登录时,系统会自动生成一个session,并占用部分内存,而这个session的过期时间设置为2小时,按照用户习惯分析,当用户直接关闭窗口退出系统的方式退出,这个session是不释放的,并继续占用内存。测试过程中没有做退出操作,导致大量用户session不释放。

解决办法:开发人员修改程序,点击重新登录时清除session,并在测试过程中,完成操作后点击重新登录。

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容