Jmeter五步实现性能测试

时间:2022-07-26
本文章向大家介绍Jmeter五步实现性能测试,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Jmeter除了是一款常用的接口测试工具,它其实更强大的功能是实现性能测试,今天用jmeter实现一个简单的性能测试案例,本次只涉及性能测试的执行,前期的测试需求分析,测试数据准备,以及测试结果的分析调优后续会更新相关文章。

首先,基本环境如下:

jdk:java环境

Jmeter:直接解压使用,本文使用apache-jmeter-5.1.1

运行:进入 apache-jmeter-5.1.1bin目录,双击 jmeter.bat

需求:为了便于大家理解实践,采用访问百度首页的一个HTTP请求,并发20个用户,运行1分钟,查看TPS和响应时间变化。

第一步:添加线程组

启动软件之后,右击“测试计划”——“添加”——线程——线程组”,这样就建好了一个线程组了。

这是常规的添加线程组,缺点是线程数不能分批执行,怎么样可以实现像roadrunner那样梯度加压呢。

幸好Jmeter有着丰富的开源插件,百度搜索下载JMeterPlugins-Standard.jar,放入目录apache-jmeter-5.1.1libext下,就可以实现如下的梯度加压。

启动参数说明:

  • This group will start 20 threads:设置线程组启动的线程总数为20个;
  • First,wait for N seconds:启动第一个线程之前,需要等待N秒;(此次案例中可设置为0秒)
  • Then start N threads:设置最开始时启动2个线程;
  • Next,add 2 threads every 2 seconds, using ramp-up 0 seconds:每隔2秒,启动2个线程;
  • Then hold load for 60 seconds:启动的线程总数达到最大值之后,再持续运行60秒;
  • Finally,stop 5 threads every 1 seconds:每秒停止5个线程;

第二步:添加请求

按照如下顺序添加HTTP请求,线程组——添加——取样器Sampler——HTTP请求。

填写百度访问请求协议、URL、请求方法GET。

还可以对请求的响应进行断言,添加断言-响应断言,响应文本。

第三步:添加监听器

常规使用的监听器有察看结果树聚合报告

添加顺序如下:

  • 选择“添加”→“监听器”→察看结果树
  • 选择“添加”→“监听器”→聚合报告

我们的目标是观察TPS和响应时间的变化,有没有什么图形化的工具呢。

开源插件很丰富,将插件jmeter-plugins-manager-1.3.jar放入目录apache-jmeter-5.1.1libext下。

添加如下两个监听器。

第四步:运行查看

点击工具栏运行按钮,开始执行测试,同时观察察看结果树是否有错误请求。

运行前需要保存脚本,并且需要将聚合报告的结果保存在一个.jtl文件中,如下:

运行完成:

聚合报告

TPS曲线

响应时间曲线

第五步:生成报告

JMeter3.0以后提供一个用于生成HTML页面格式图形化报告的扩展模块。该模块支持通过两种方式生成多维度图形化测试报告。

基本命令格式: jmeter-g<log file>-o<Pathto output folder>

如:jmeter-g C:UsersAdministratorDesktop访问百度.jtl-o D:JmeterReport

-g :specifies the existing result file 指定已存在的结果文件

-o:保存html报告的路径, 此文件夹必须为空或者不存在


`cmd`

`d:`

`cd:D:jmeterapache-jmeter-5.1.1apache-jmeter-5.1.1bin`

`jmeter -g C:UsersAdministratorDesktop访问百度.jtl -o  D:JmeterReport

生成如下测试报告:

使用浏览器打开html文件:

报告中有丰富的图表数据,便于直观分析测试结果,大家可以自行探索下这个报告都有哪些功能吧。