随笔 - 21  文章 - 0 评论 - 0 阅读 - 9094
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

转载自:https://blog.csdn.net/wangyanhong123456/article/details/123046451

 

线程组:用于模拟。

线程属性包含了:线程数、Ramp-Up时间(秒)、循环次数。

我整理了下线程属性的定义,如图:

难点在于如何确定一个合适的Ramp-Up时间(秒)。接下来讲解:

线程数:n

Ramp-Up时间:T

循环次数:a(循环次数a只是为了延长单个线程的运行时间,从而保证当最后一个线程启动时,所有线程都在运行中,从而达到压测效果)

若每个循环运行时间:t

理论上:

1)当时间到S=(T-T/n)时,最后一个线程启动,若要使所有线程同时运行,则需要在最后一个线程启动的时候第一个线程仍未关闭,为达到这个需求,需a*t>S及a>S/t

2)每个线程运行时间:R=a*t(此处的a是大于S/t的某一个值),则第一个线程在时间点R的时候停止。

3)整个测试理论运行时间:S+R=(1-1/n)*T+a*t

实际运用中,如果根据理论知识来确定Ramp-Up时间?

先在jmeter中假设n(线程数)、T(Ramp-Up时间)的值,a(循环次数)暂定为1,运行脚本后,查看聚合报告中平均响应时间是多少,也就是t(每个循环运行时间)的值,然后根据公式( S = (T- T/n) )计算出S(最后一个线程第S秒启动)

由于需要在最后一个线程启动的时候第一个线程仍未关闭,则需要满足 a·t > S,由此得出a的取值范围。

然后在a的取值范围中选择边界值,然后计算出单个线程运行时间R,然后根据公式(S + R = (1-1/n)·T + a·t)得出S+R的值,也就是整个测试理论运行时间。 

下面我直接截了原作者该文章的图,懒得画图了o(╥﹏╥)o

 

posted on   12345zjl  阅读(245)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示