Jmeter性能测试入门 -——性能插件介绍

一、前言

1、首先,JMeter提供了三个基本的线程组,分别为:

  • Thread Group
  • setUp Thread Group
  • tearDown Thread Group

2、其他线程组可以通过集成插件的方式使用,包括:

  • bzm - Arrivals Thread Group
  • bzm - Concurrency Thread Group
  • bzm - Free-Form Arrivals Thread Group
  • jp@gc - Stepping Thread Group
  • jp@gc - Ultimate Thread Group

以上,可以通过右键测试计划->添加->Threads(Users),选择对应的线程组进行添加

二、集成插件下载安装

1、下载地址:jmeter-plugins.org 

2、安装:下载后文件为plugins-manager.jar格式,将其放入jmeter安装目录下的lib/ext目录,然后重启jmeter,即可。

3、启动jemter,点击选项,最下面的一栏,如下图所示:

打开后界面如下:

Installed Plugins(已安装的插件):即插件jar包中已经包含的插件,可以通过选中勾选框,来使用这些插件;

Available Plugins(可下载的插件):即该插件扩展的一些插件,可以通过选中勾选框,来下载你所需要的插件;

Upgrades(可更新的插件):即可以更新到最新版本的一些插件,一般显示为加粗斜体,可以通过点击截图右下角的Apply Changes and Restart Jmeter按钮来下载更新;

PS:一般不建议进行更新操作,因为最新的插件都有一些兼容问题,而且很可能导致jmeter无法使用(经常报加载类异常)!!!

  建议使用jmeter最新的3.2版本来尝试更新这些插件。。。

二、Transactions per Second

  即TPS:每秒事务数,性能测试中,最重要的2个指标之一。该插件的作用是在测试脚本执行过程中,监控查看服务器的TPS表现

————比如整体趋势、实时平均值走向、稳定性等。

三、Response Times Over Time

TRT:事务响应时间,性能测试中,最重要的两个指标的另外一个。

该插件的主要作用是在测试脚本执行过程中,监控查看响应时间的实时平均值、整体响应时间走向等。

四、Thread Group、setUp Thread Group和tearDown Thread Group

  • Thread Group是我们通常使用的线程,模拟用户数,每一个线程就相当于一个虚拟的用户;
  • setUp Thread Group是一个特殊的线程组,用于执行测试之前的初始化操作;
  • tearDown Thread Group是一个特殊的线程组,用于执行测试结束之后的回收工作;

五、阶梯加压线程组1

—bzm - Concurrency Thread Group,jp@gc - Stepping Thread Group,jp@gc - Ultimate Thread Group

1、主要功能:阶梯控制线程数并发

2、简述:上面3个都可用于阶梯式加压测试,但是由于Stepping Thread Group已经不再被官方推荐使用了,我们对Concurrency Thread Group进行简单介绍。

  •  target concurrency:目标并发数
  • ramp up time(min):加速时间
  • ramp-up steps count:加速步骤计数
  • hold target rate time(min):保持目标费率时间
  • thread iterations limit:线程迭代次数限制
  • log threads status into file:将线程状态记录到文件

以上,以图形的方式展示了线程加压的过程,例如:

  • 100个线程组,加速时间为5分钟,10个加速步骤,保持目标费率10分钟:
  • 10个加速步骤,每步10个线程组;
  • 5分钟/10步=0.5,每步0.5分钟;即每0.5分钟加载十个线程组,直到达到100个;
  • 达到100个线程组之后,所有这些线程组将继续运行,加压十分钟。

3、监控:jp@gc - Active Threads Over Time

阶梯加压线程组需要和 Active Threads Over Time(不同时间活动数量展示)结合起来,这样能看到动态的阶梯加压效果

六、阶梯加压线程组2

—bzm - Arrivals Thread Group,bzm - Free-Form Arrivals Thread Group

1、主要功能:阶梯控制 每秒/每分钟 请求数

2、简述:Arrivals Thread Group适合负载测试,Free-Form Arrivals跟Arrivals Thread Group差不多

  • target rate:目标费率,每秒钟多少个请求数
  • ramp up time(sec):达到目标费率需要的时间
  • ramp-up steps count:达到目标费率需要多少步
  • hold target rate time(sec):保持目标费率时间
  • thread iterations limit:线程迭代次数限制
  • log threads status into file:将线程状态记录到文件
  • concurrency limit:最大并发数限制

例如:

  • 目标费率为100,加速时间为10秒钟,5个加速步骤,保持目标费率10秒钟:
  • 5个加速步骤,每步20增加个费率;
  • 10s/5步=2,每步2秒钟;即每2秒钟加载20个费率,直到达到100;
  • 达到100个费率之后,按照这个标准进行加压10秒钟;
  • 以上,前十秒钟按照设置不断增加费率,请求数为(20+40+60+80+100)*2=600个;后十秒钟,按照每秒100个费率计算,请求数为100*10=1000个;共计1600个请求数。

总结:

感谢每一个认真阅读我文章的人!!!

我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。

   Python自动化测试学习交流群:全套自动化测试面试简历学习资料获取点击链接加入群聊【python自动化测试交流】:http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DhOSZDNS-qzT5QKbFQMsfJ7DsrFfKpOF&authKey=eBt%2BF%2FBK81lVLcsLKaFqnvDAVA8IdNsGC7J0YV73w8V%2FJpdbby66r7vJ1rsPIifg&noverify=0&group_code=198408628

猜你喜欢

转载自blog.csdn.net/manbskjabgkb/article/details/131839336