如果公司要求你去做性能测试,会有一个“需求”,活动页面,要你做性能测试,看是否能满足1000个人同时访问。
需求2:商定,对接的接口,要满足50tps。---这样的场景怎么设计。
需求3: 秒杀活动,我要看秒杀时,服务器能否支持500个人同时秒杀。
jmeter本身是没有对线程数做限制的。但是jmeter启动这些并发用户数时,需要消耗资源,受电脑cpu的主频限制,一台电脑不可能创建无限量的线程数。
实际的情况,「http协议」的脚本,一台电脑的线程数大概能产生1500左右并发用户数,可能产生2000个并发用户数,但是可能会出错,肯定能产生1000个并发用户数左右。
也就是说,1台电脑,「http协议」脚本,保守估计是可以产生1000个并发用户数。
如果你想模拟超过1000并发用户数,你可能需要考虑「分布式(用多台电脑)」。
其它的协议和受一些别的因素的影响,产生的并发用户数量也不同。
「ramp-up时间:」 启动所有线程数的时间(线程数在合理的范围)。
1)在ramp-up时间结束点,所有的人会产生。
2)在ramp-up时间内,是否均匀产生并发用户数,是不确定。
3)在启动时间内,产生的并发用户,一产生,就去发起请求。
4)启动了并发用户,就会去发起请求,不同时间产生的并发用户,与前面产生的并发用户,调用的接口可能不一样。---广义并发。
「广义并发:」 同一时间点向服务器发起请求
,并不是同一时间点发起相同的请求。
「狭义并发:」 同一时间点发起相同的请求
。
jmeter做性能测试,更多时候,使用的是广义并发。
ramp-up时间默认必须「大于等于1」。
500以内并发用户数,ramp-up:2~4s。
500-1000并发用户数,ramp-up:5s。
>1000并发用户数,ramp-up:5-8s。
「一个原则:」 ramp-up时间在总执行时间中,占比要很低。
一般的情况,一个性能测试的总执行时间:几十秒钟~几十分钟。
循环次数默认必须「大于等于1」。
「循环次数:」 就是每个并发用户要去执行的请求数量。
「复选框:」 永远。一直循环,直到你点击停止,才会停止。
会有问题,会导致请求报错,或卡死。
要与调度器一起使用。「必须把永远的勾和调度器的勾都勾选。」
文章中的图片,皆为小编本人所画所截图,计算机知识都一样,如有雷同,纯属巧合。「文章是清菡编写的,如有转载,请标明出处!」