码迷,mamicode.com
首页 > 其他好文 > 详细

jmeter接口性能测试--定时器使用

时间:2021-03-10 13:35:53      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:操作系统   指标   参数详解   timer   程序   通信   目录   mamicode   load   

一、性能测试概述

1.1 概述

模拟各种正常的、峰值的测试环境,检测程序的各项性能指标是否达标。
如模拟系统半小时内2000个用户进行登录操作。
性能指标:如要求登录请求的响应时间在3秒钟以内。

1.2 作用

1、项目立项初期帮助技术选型
2、测试当前程序所能支持的最大负载
3、发现系统中的性能瓶颈,提高资源利用率
4、提升用户体验
.......

1.3 实现

使用jmeter的定时器实现时间的性能测试

二、同步定时器--模拟高并发

2.1 测试步骤

例:同一时刻,100个用户访问登录接口,统计高并发情况下平均响应时间以及错误率
1、新建测试计划、测试组、取样器、结果树,指定线程组的线程数为100,模拟100个用户:

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

2、添加定时器的synchronizing timer(同步定时器),实现同时访问:

技术图片

技术图片

3、运行测试计划,即可实现100个用户并发访问登录接口
技术图片

4、通过聚合报告组件,可以对结果进行汇总分析

技术图片

5、再次点击运行测试计划,在聚合报告中查看结果

技术图片

2.2 同步定时器参数详解

当线程组中设置的线程数(用户数)不能整除同步定时器中设置的“模拟用户组的数量”,且超时时间为0时,会导致程序挂起,即运行测试计划后无法结束运行。

如线程组设置的线程数为100,同步定时器的“模拟用户组的数量”设置为30,超时时间为0,此时运行测试计划后,程序就会挂起,将会还剩10个线程无法运行:

技术图片

技术图片

技术图片

如何避免程序挂起

方式一:修改“模拟用户组的数量”,使得线程组用户数能够被整除;
方式二:设置定时器的超时时间,如设置超时时间为5000毫秒,即使线程组的线程数不能被整除,一旦过了超时时间,程序就会执行完剩余的线程。

三、常量吞吐定时器--设置接口访问频率

3.1 步骤

例:一个用户以20QPS(20次/秒)的频率访问服务器的登录接口,持续15秒,统计服务器的平均响应时间

1、新建测试计划、线程组、取样器、聚合报告,设置相关测试参数
循环次数 = 访问频率 * 持续时间

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

2、添加常量吞吐定时器

技术图片

技术图片

3、运行测试计划,查看汇总结果

技术图片

四、分布式性能测试实现

多台机器协作,以集群的方式完成性能测试,提高测试效率。
如峰值时期有30000个用户访问系统,一台测试机最多支持5000个用户,可以使用6台测试机窜起来实现30000个用户访问

基本架构:

技术图片

  • 控制机:负责任务分配
  • 执行机:负责任务实现
  • 控制机制定测试任务,并下发到执行机,执行机执行任务并将结果返回给控制机,控制机汇总结果

4.1 分布式测试环境搭建

1、在不同测试机上安装jmeter
2、配置基础环境(统一操作系统、JDK、jmeter)
3、配置控制机与执行机之间的通信(端口):

  • 为执行机设置端口号 %JMETER_HOME/bin/jmeter.properties --> server_port=xxx

技术图片

  • 控制机中设置执行机的IP和端口 %JMETER_HOME/bin/jmeter.properties --> remote_hosts=执行机A的IP:端口,执行机B的IP:端口

技术图片

  • 设置控制机和执行机远程访问相关控制:server.rmi.ssl.disable=true

技术图片

4.2 分布式性能测试步骤

例:模拟100个用户操作(默认已经搭建好分布式测试环境)

1、启动集群机器上的控制机、执行机的jmeter
2、在控制机的jmeter中,新增测试计划、测试组、取样器、聚合报告(具体步骤同上)
3、设置线程组的线程数,并运行测试计划:

技术图片

技术图片

jmeter接口性能测试--定时器使用

标签:操作系统   指标   参数详解   timer   程序   通信   目录   mamicode   load   

原文地址:https://www.cnblogs.com/yanlin-10/p/14500702.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!