Jmeter系列(5)- 基础线程组Thread Group 如何设置线程数,ramp-up period,循环次数

1. 执行第一次数据采样

得到吞吐率和平均响应时间:

吞吐率=10 ,平均响应时间:t=0.1秒;

2. 计算理想 ramp-up period (T)

假设线程N=20,估计的吞吐率=10, 那么估计的理想 ramp-up period (T)= 20/10 = 2 秒

3. 计算循环次数 A

由于我们要考虑在第一个线程结束的时候,确保最后一个线程能启动,那么第一个线程循环执行的时间至少要大于一个值(最后一个线程启动的时间),这个值定位 S=T-T/N=2-2/20=1.9

当时间到 S=(T-T/N)时,最后一个线程启动,若要使所有线程同时运作,则需要在最后一个线程启动的时候第一个线程仍未关闭,为达到这个要求,需满足 A > S/t

代入数字可得 A>1.9/0.1=19次

A = 19时,循环19次,结束的时候,最后一个线程刚好启动。所以 循环次数A 需要 大于19

总的表达式 :

  1. A>(T-T/N)/t

  2. ramp-up = 线程数/吞吐率

  3. 循环次数 = (ramp - ramp/线程数)/平均响应时间

单个线程循环运行总时间既是 R = A·t(此处的A是大于S/t的某一值),当时间到 S=(T-T/N)时,最后一个线程启动,整个测试理论运行时间则是 :``S + R = (1-1/N)·T + A·t`

压测结果分析
1、TPS如果大于并发数,则说明并发数还可以往上加;如果出现TPS小于并发数的时候说明已经不能增加了,可以慢慢往下减,找到最佳并发数

原文地址:https://www.cnblogs.com/dongye95/p/14715275.html