性能测试工具介绍

版权声明:本文为博主原创文章,转载需注明出处。 https://blog.csdn.net/david_pfw/article/details/82991234

本文主要介绍一下常用的两款测试工具:

  1. 性能测试压测工具-Jmeter
  2. 性能测试监控工具-JProfiler

1. 性能测试压测工具-Jmeter

1.2 Jmeter简介

JMeter,一个100%的纯Java桌面应用,由Apache组织的开放源代码项目,它是功能和性能测试的工具。具有高可扩展性、支持Web(HTTP/HTTPS)SOAPFTPJAVA等多种协议的特点。

Jmeter官网: http://jmeter.apache.org/

目前最新版本的jmeter3.3版本,要求jdk版本为1.8

下载地址:http://jmeter.apache.org/download_jmeter.cgi

Jdk版本为1.7的,可以下载3.1版本,功能基本一致

下载地址:https://archive.apache.org/dist/jmeter/binaries/

1.3 Jmeter安装

下载Jmeter后,直接解压,在bin目录下,双击jmeter.bat

1.4 使用说明

1.4.1 创建一个线程组

添加线程组并设置参数大小:测试计划->添加->Threads ->线程组

1.4.2 创建一个Http请求(GET

添加HTTP请求:线程组下添加->Sampler ->HTTP请求

注意:同一个线程组内的多个请求是顺序执行的,不同线程组的请求的并行执行的

1.4.3 创建一个Http请求(POST

添加HTTP请求:线程组下添加->Sampler ->HTTP请求

1.4.4 给请求添加header

添加响应断言:HTTP请求->添加->配置元件->HTTP信息头管理器

1.4.5 给请求添加一个断言

添加响应断言:HTTP请求->添加->断言 ->响应断言

1.4.6 查看请求返回结果

添加查看结果树: HTTP请求-监听器-查看结果树

1.4.7 脚本参数化设置-内置函数

为了使测试数据动态化,更真实的模拟用户请求,需要对接口数据做参数化

Jmeter的函数助手里,有全部的函数以及相关文档

常用的内置函数:

  •   随机数:__Random
  •   随机字符串: __RandomString
  •   时间戳:__time
  •   UUID__UUID

1.4.8 脚本参数化设置-CSV Data Set Config

添加CSV Data Set Config :线程组->添加->配置元件 -> CSV Data Set Config

1.4.9 参数化引用

HTTP请求里,把需要做参数化的参数值,用${参数名}代替

1.4.10 Jmeter关联-数据提取

工作中经常有这种测试需求:接口B的参数来源于接口A的返回值,这个时候如果要测试接口B,就需要先把A接口的数据提取出来

步骤:

1、先添加接口A的请求,A请求的返回值为{"skuId":123,"price":93.0,"stock":1977,"opt":abc,"result":true}

2、在A请求内部创建一个后置处理器-JSON Extractor,按照下图填写

解释

Variable name:定义一个变量,存储提取的数据

JSON Path expressionsjson表达式,用$代表整个json数据,$.stock标识json字符串中keystock的值

Match Number:匹配数字,根据json表达式匹配出的数据可能有多个,这个数字表示获取第几个,如1代表匹配出的第一个数据;0代表随机一个数据

3、添加请求B,在B请求的url中,直接用${参数名}来代表JSON提取器中定义的参数,如

1.4.11 Jmeter测试结果分析-聚合报告

1.4.12 Jmeter命令行模式

GUI模式下进行压测,Jmeter本身的性能开销非常大,因此官方建议真正压测时在非GUI模式下进行

所以一般选择在Linux下,或windows命令行下执行压测

 

GUI模式下,可以先把修改下jmeterbin目录下jmeter.properties

summariser.interval=10(实时展示性能数据的间隔时间s

 

GUI模式下先把jmx脚本创建并调试好,然后在命令行下执行命令:

jmeter -n –t test.jmx -l result.jtl

-n: 命令行模式

-tjmx脚本路径

-l:测试结果文件路径

命令行模式下结果分析:

1、通过查看控制台日志

2、使用聚合报告打开测试生成的jtl文件,也可以获取到性能数据

3、根据jtl文件生成HTML报表

使用报表前先修改Jmeterbin目录下reportgenerator.properties

修改jmeter.reportgenerator.overall_granularity=1000(报表统计的间隔时间)

 

执行以下命令后,就会在当前目录下的output文件夹中生产html报表

jmeter –g test.jtl –o ./output

下载到本地用浏览器打开即可查看报告

TPS趋势图:

平均响应时间趋势图:

2. 性能监控分析工具-Jprofiler

2.1 Jprofiler简介

JProfiler是一个商业授权的Java剖析工具,由EJ技术有限公司,针对Java EEJava SE应用程序开发的。

Jprofiler主要有两部分组成:客户端和Server

 

注意:Jprofiler server端启动后对Java程序的性能影响较大,所以不能作为常规性的监控工具,只能在排查问题时使用

2.2 Jprofiler安装和配置

2.2.1 服务端安装配置

1.安装

在服务器上安装JProfiler9.1.1 server

rmpivh jprofiler_linux_9_1_1.rpm

安装成功后,jprofiler默认安装在了/opt/jprofiler9目录下

 

2.配置

tomcatcatalina.sh,把以下参数添加到JVM参数配置的地方,如

JAVA_OPTS="$JAVA_OPTS -agentpath:/opt/jprofiler9/bin/linux-x64/libjprofilerti.so=port=8849,nowait"

配置好后重启tomcat

2.2.2 客户端安装配置

1. windows下安装好jprofiler_windows_9_1_1.exe

2. 启动Jprofiler,按照以下步骤操作

2.3 Jprofiler运行界面和常用功能

 

 

猜你喜欢

转载自blog.csdn.net/david_pfw/article/details/82991234