正厚软件-性能测试系列1之Jmeter入门指南
2019-05-23

性能测试系列1之Jmeter入门指南 (正厚软件)

一、JMeter简介

JMeter是Apache组织开发的基于Java的压力测试工具,用于对软件做压力测试。它最初被设计用于Web应用测试,但后来扩展到其他测试领域。它可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI脚本、Java 对象、数据库、FTP 服务器等等。JMeter可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。

 

二、JMeter的下载安装

1、下载JDK并安装。

到JDK的官网下载相应的版本,目前可以方便下载的是JDK8及以上。若要下载JDK7及以下的版本,需要注册一个Oracle账号,登录后可下载使用,主要是因为Oracle主推JDK8及以上,JDK7及以下只作为试验版,供开发者下载使用。

下载完成后按照提示进行安装即可。测试安装是否成功的命令:

java -version

 

 

2、下载JMeter。

可以去JMeter官网下载相应的版本,但目前要求Java8及以上。

现附上支持Java7的版本apache-jmeter-3.1,以方便使用。目前我主要是用这个版本进行测试工作。

apache-jmeter-3.1.rar(161.5 MB)

同时附上作为JMeter远程连接工具的ServerAgent,以方便使用。

ServerAgent-2.2.1.rar(2.9 MB)

3、JMeter启动。

在JMeter的安装包中bin文件中知道jmeter.bat,双击即可启动。

 

三、JMeter的使用

1、添加一个线程组。

线程组作为JMeter的一系列请求的集合,可以为其中的请求配置一下公共参数,以方便使用。

 

2、添加线程组的公共配置。

添加HTTP信息头管理器、查看结果树等公共配置。

2.1、添加HTTP信息头管理器。

2.2、配置HTTP信息头管理器为表单形式提交参数。

2.3、添加查看结果树等监听器。

 

3、创建一个请求。

3.1、添加一个HTTP请求。

3.2、配置此HTTP请求。

3.3、发起请求。

点击启动即可发起请求,然后可以在查看结果树的监听器中,查看这次请求的结果。

获取的结果如下图所示,绿色表示请求成功,红色表示请求失败。

 

四、JMeter监听器介绍

1、jp@gc - Actiive Threads Over Time:不同时间活动用户数量展示(图表)。

2、jp@gc - AutoStop Listener :自动停止监听器。

average Response Time is greater than 10000ms for 10 seconds :连续10s平均响应时间大于10000ms就停止测试。

average Latency is greater than 5000ms for 10 seconds :连接10s平均等待时间大于5000ms就停止测试。

Error Rate is greater than 50% for 10 seconds :10s内错误率一直高于50%就停止测试。

3、jp@gc - Bytes Throughput Over Time:不同时间吞吐量展示(图表)

聚合报告里,Throughput是按请求个数来展示的,比如说1.9/sec,就是每s发送1.9个请求;而这里的展示是按字节Bytes来展示的图表。

4、jp@gc - Composite Graph:混合图表,在它的Graphs里面可以设置多少个图表一起展示,它可以同时展示多个图表。

5、jp@gc - Flexible File Writer:这个插件允许你灵活记录测试结果 。

Filename:结果记录的地方

Overwirte existing file:是否覆盖这个文件

Write File Header:文件的头(即文件的第一行)

Record each sample:记录不同的sample(记录哪些内容,什么顺序,如何隔开不同的值)

Write File Footer:文件的结尾(即文件的最后一行)

6、jp@gc - Hits per Second:每秒点击量

7、jp@gc - PerfMon Metrics Collector:服务器性能监测控件,包括CPU,Memory,Network,I/O等等。(此功能用到在需监听的服务器上启动startAgent)

8、jp@gc - Reponse Latencies Over Time:记录客户端发送请求完成后,服务器端返回请求之前这段时间。

9、jp@gc - Reponse Times Distribution: 显示测试的响应时间分布,X轴显示由时间间隔分组的响应时间,Y轴包含每个区间的样本数。

10、jp@gc - Respose Times Over Time: 响应时间超时,显示每个采样以毫秒为单位的平均响应时间。

11、jp@gc - Response Times vs Threads: 线程响应时间,显示响应时间的并行线程的数量如何变化。

12、jp@gc - Transactions per Second: 每秒事务数,服务器每秒处理的事务数。


 

环境丨好课程丨好老师丨好就业丨好学员

变态严管,让学习成为一种习惯!
软件测试、JAVA技术提升请认准正厚软件