jmeter计算测试QPS

jmeter测试QPS
前言
测试方法概论
1.建立测试(准备工作,有经验的可以跳至下一步)
2.添加Constant Throughput Timer(常量吞吐量定时器)
2.~~在满足响应时间要求的情况下逐步增加线程(再次琢磨发现方法可能有问题,此方法已遗弃,新方法已在上面写出)~~
~~3.计算QPS~~
前言
网上一搜全是复制粘贴,根据个人理解,得出一套测试QPS的方法,so:本文一切概念为个人理解,请辩证的看文章。

测试方法概论
首先定一个响应时间的目标,本文定为平均相应时间小于200ms,其次根据这个响应时间找到能满足的最大线程数与合适的测试时间。我认为聚合报告中的吞吐量就是QPS(每秒查询数)

1.建立测试(准备工作,有经验的可以跳至下一步)
1.建立线程组

 

线程数+Ramp-Up表示在Ramp-Up这个时间段内 均匀启动线程,如
例1:线程数:50
Ramp:1
表示1秒内启动50个线程
例2:线程数:50
Ramp:5
表示5秒内启动50个线程 (每秒启动10个线程)

2.建立http请求

 

 

3.添加监听器

 

 

2.添加Constant Throughput Timer(常量吞吐量定时器)

这个定时器保证了吞吐量为预设的吞吐量,与之前不设置相比,可以保证并发更接近为设置的值,从而计算起QPS更加准确
1)设置线程组

 

 

其中50为预设的线程,
预计平均响应时间(如200ms)可以计算出每个线程每秒的查询次数为5 所以循环次数为: 5*60s = 300

 

 

 

设置常量吞吐量定时器
目标吞吐量与基于计算吞吐量为一对出现
如预计平均响应时间(如200ms)可以计算出每个线程每秒的查询次数为5
所以可以选出两套方案
1.目标吞吐量:5*60s = 300
基于计算吞吐量:只有此线程
2.目标吞吐量:50(个线程)*5 *60s = 15000
基于计算吞吐量:所有活动线程
两套选哪种都行,结果相差不大

 

 

逐步增加线程,直到满足响应时间的最大线程数
计算QPS
上图中两个QPS分别为
239.46360
240.78979

2.在满足响应时间要求的情况下逐步增加线程(再次琢磨发现方法可能有问题,此方法已遗弃,新方法已在上面写出)

确定测试时间为3分钟

 

 确定保证200ms响应时间时线程(并发)为50个

 

3.计算QPS

代入公式:QPS(每秒查询数) = 50/0.202 = 247.5个/s

PS:
1.CSDN画表格太反人类了
2.欢迎留言探讨
3.个人观点,欢迎指点

 

计算关系:

QPS = 并发量 / 平均响应时间

并发量 = QPS * 平均响应时间

原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间。

公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS) 。

机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器 。

案例分析:

每天300w PV 的在单台机器上,这台机器需要多少QPS?

( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)。

一般需要达到139QPS,因为是峰值。

如果一台机器的QPS是58,需要几台机器来支持?

139 / 58 = 3

原文来自:https://blog.csdn.net/Le_1M/article/details/121105877

 

posted on 2022-04-28 16:12  groby  阅读(4298)  评论(0编辑  收藏  举报