目录
一、回顾二、性能测试场景设计六种常见设计方法三、普通性能场景1.jmeter的线程数,有没有限制呢?2.ramp-up时间3.线程数+ramp-up时间,怎么设置才比较合理?4.循环次数一、回顾ngrinder:maven+groovy进行脚本开发,必须ngrinder的版本要小于等于3.5.2。ngrinder的版本:3.5.5有兼容性问题,管理台界面会打不开。建议使用ngrinder3.5.2。二、性能测试场景设计如果公司要求你去做性能测试,会有一个“需求”,活动页面,要你做性能测试,看是否能满足1000个人同时访问。
需求2:商定,对接的接口,要满足50tps。---这样的场景怎么设计。
需求3: 秒杀活动,我要看秒杀时,服务器能否支持500个人同时秒杀。
六种常见设计方法普通性能场景设计。阶梯性能场景(负载测试场景)。压力测试场景。面向目标场景(lr很容易实现这个场景。但是jmeter,如果没有系统得讲解,是不知道怎么来实现这个场景)。混合场景设计:不同数量的人,向不同的接口发起请求。有时间规律的场景。三、普通性能场景线程组:线程数:模拟的并发用户数量。1.jmeter的线程数,有没有限制呢?jmeter本身是没有对线程数做限制的。但是jmeter启动这些并发用户数时,需要消耗资源,受电脑cpu的主频限制,一台电脑不可能创建无限量的线程数。
实际的情况,「http协议」的脚本,一台电脑的线程数大概能产生1500左右并发用户数,可能产生2000个并发用户数,但是可能会出错,肯定能产生1000个并发用户数左右。
也就是说,1台电脑,「http协议」脚本,保守估计是可以产生1000个并发用户数。
如果你想模拟超过1000并发用户数,你可能需要考虑「分布式(用多台电脑)」。
其它的协议和受一些别的因素的影响,产生的并发用户数量也不同。
2.ramp-up时间「ramp-up时间:」 启动所有线程数的时间(线程数在合理的范围)。
1)在ramp-up时间结束点,所有的人会产生。
2)在ramp-up时间内,是否均匀产生并发用户数,是不确定。
3)在启动时间内,产生的并发用户,一产生,就去发起请求。
4)启动了并发用户,就会去发起请求,不同时间产生的并发用户,与前面产生的并发用户,调用的接口可能不一样。---广义并发。
「广义并发:」 同一时间点向服务器发起请求,并不是同一时间点发起相同的请求。
「狭义并发:」 同一时间点发起相同的请求。
jmeter做性能测试,更多时候,使用的是广义并发。
ramp-up时间默认必须「大于等于1」。
3.线程数+ramp-up时间,怎么设置才比较合理?代码语言:javascript代码运行次数:0运行复制500以内并发用户数,ramp-up:2~4s。
500-1000并发用户数,ramp-up:5s。
>1000并发用户数,ramp-up:5-8s。
「一个原则:」 ramp-up时间在总执行时间中,占比要很低。
一般的情况,一个性能测试的总执行时间:几十秒钟~几十分钟。
4.循环次数循环次数默认必须「大于等于1」。
「循环次数:」 就是每个并发用户要去执行的请求数量。
「复选框:」 永远。一直循环,直到你点击停止,才会停止。
这个停止会有问题吗?会有问题,会导致请求报错,或卡死。
永远应该怎么用呢?要与调度器一起使用。「必须把永远的勾和调度器的勾都勾选。」
文章中的图片,皆为小编本人所画所截图,计算机知识都一样,如有雷同,纯属巧合。「文章是清菡编写的,如有转载,请标明出处!」