【性能测试】12_JMeter _JMeter定时器

文章目录

  • [一、同步定时器(Synchronizing Timer) 集合点](#一、同步定时器(Synchronizing Timer) [集合点])
    • [1.1 介绍](#1.1 介绍)
    • [1.2 案例](#1.2 案例)
    • [1.3 注意事项](#1.3 注意事项)
  • [二、常数吞吐量定时器(Constant Throughput Timer)](#二、常数吞吐量定时器(Constant Throughput Timer))
    • [2.1 案例](#2.1 案例)
    • [2.2 思考题](#2.2 思考题)
  • 三、固定定时器
  • 四、总结

一、同步定时器(Synchronizing Timer) 集合点

提示: 在Jmeter中叫做同步定时器, 在其他软件中又叫集合点。

yacas 复制代码
思考?
1. 如何模拟多个用户同时抢一个红包?
2. 如何测试电商网站中的抢购活动、 秒杀活动?

1.1 介绍

SyncTimer的目的是阻塞线程, 直到阻塞了n个线程, 然后立即释放它们。

yacas 复制代码
同步定时器相当于一个储蓄池, 累积一定的请求, 当在规定的时间内达到一定的线程数量, 这些线程会在同一个时间点一起并发, 所以可以用来做大数据量的并发请求。

实现原因:设置同步定时器,有请求要发出时,同步定时器会暂缓请求发送,一直到积攒的请求数达到要的数量时,将所有的请求同步发送出去,形成绝对的并发(更大的压力负载)

添加方式: 测试计划 --> 线程组--> HTTP请求 --> (右键添加) 定时器 --> Synchronizing Timer

1.2 案例

yacas 复制代码
需求:模拟一个时间点上,30个用户同时访问百度首页(峰值访问)

场景:秒杀、微信抢红包、抢购...(服务器访问量 瞬时暴增)

1、添加线程组, 设置线程数=30

2、添加HTTP请求

3、在HTTP请求--->添加同步定时器

4、添加监听器-聚合报告

1.3 注意事项

问题: 当用户数不能整除集合点组件的一组用户数属性时, 如果超时时间是 0, 会导致程序挂起,怎么避免挂起?

实现:

  • 方案1: 点击 stop 强行终止, 但是不建议
  • 方案2: 修改一组用户数, 能够做到整除(治标不治本)
  • 方案3: 修改超时时间, 不设置为 0, 即便一组用户数填充不满, 只要超时, 也会执行(建议)

二、常数吞吐量定时器(Constant Throughput Timer)

  • 常数吞吐量定时器可以让JMeter以指定数字的吞吐量(以每分钟的样本数为单位, 而不是每秒) 执行。吞吐量计算的范围可以为指定为当前线程、 当前线程组、 所有线程组。
  • 注意:常数吞吐量定时器只是帮忙达到性能测试的负载(压力)要求,本身不代表性能有bug/无bug。对于bug的分析需要通过响应时间来判断。
  • 添加方式: 测试计划 --> 线程组--> HTTP请求 --> (右键添加) 定时器 --> Constant Throughput Timer

2.1 案例

bash 复制代码
1、场景:一个用户以 20QPS (20 次/s) 的频率访问百度首页, 持续一段时间, 统计运行情况 。 
# 没有特殊说明时,一般 QPS==TPS

2、作用:控制每秒 向服务器发送HTTP请求的数量。  
3、目的:测试系统服务器 每秒是否能达到指定的QPS。

1、添加线程组, 循环次数设置成 "永远"。

2、添加HTTP请求--->添加常数吞吐定时器

3、添加监听器-聚合报告

2.2 思考题

思考题:测试百度服务器是否能达到80QPS

  • 测试结论:百度服务器 无法达到80QPS
  • 结论:目前业界内,优秀的服务器 (单用户测试),QPS大约在40-60之间。

三、固定定时器

  • 在jmeter中,实现一个功能可以有多种方法
  • 固定定时器,与线程组属性中 启动延时功能比较,固定定时器的时间单位更精准(单位:毫秒),固定定时器可以针对某一个请求定时。
  • 添加方式: 测试计划 --> 线程组--> HTTP请求 --> (右键添加) 定时器 --> 固定定时器

四、总结

  • 所有的定时器都是针对某一个请求的。
  • 是在请求上定时的。
相关推荐
lsz1525903 天前
数据库系统测试方案中测试用例原则
测试用例·性能测试·软件开发·数据库设计·测试原则
孫治AllenSun4 天前
【Jmeter】项目压测流程案例
jmeter
是吕先森8 天前
【jmeter】简单应用
jmeter
执笔画流年呀9 天前
【性能测试】Jmeter下载安装、环境配置-小白使用手册
jmeter
颜挺锐10 天前
JMeter TCP 取样器 行尾字节值是 62,是代表的什么意思?
网络协议·tcp/ip·jmeter
不积跬步无以至千里19 天前
记录一次绕过负载均衡直接测试多个服务节点性能的工作
负载均衡·性能测试·loadrunner
蒸鱼Yuzheng19 天前
游戏性能测试完整回答:场景、设备、指标、基线与回归判定
软件测试·性能测试·帧率·游戏测试·qa面试
Qredsun20 天前
jmeter setUp Thread Group
jmeter
Qredsun20 天前
jmeter全局变量的设置与使用
jmeter