看过部分的参考书籍对于以下几个参数并没有很好的解释,现整理如下文:
线程属性
1.线程数:就是虚拟用户数,也就是30个并发,不代表真实的用户数,只代表jmeter的压力大小。图1
2. ramp-up 线程数递增时间 如果是5 ,则每秒的请求数是 30/5 或者每个请求的间隔时间是5/30=0.16s (注意:如果设为0,表示每秒并发数为30,但实际不会这样去请求,因为设为0,一般在秒杀活动的操作可以这样操作。并发数越大,ramp-up值就应该越大,当然要结合业务场景)
该参数合理性对于模拟用户行为以及设计压测方案有很重要的作用,比如,上述递增是5,意思就是每秒请求6个,如果该接口性能特别好,一秒内帮你处理完了,这时候你的并发数其实并没有达到30,这个时候5的设定是很不合理。
怎么设置合理的ramp-up值呢。参考下网友的资料如下:
假设线程数为100, 估计的点击率为每秒10次, 那么估计的理想ramp-up period 就是 100/10 = 10 秒
怎么去估计点击率,一方面可以根据业务需要调整。另一方面可以根据,可以根据首次的聚合报告的tps进行即时的调试,那首次怎么调呢,当然是线程数越高越好,线程递增时间越来越小。
如图2 ,调试后的tps约为70,假设你的并发为300 ,那这个ramp-up合理的时间是约为 ramp-up period (T)= 300/70 = 4s
3. 循环次数 :总的请求数,相当于线程数乘以几倍。勾选了永远,则会一直发送请求。也只有设置为永远,调度器才可用。循环次数如果不设置为永远,那我们要怎么设定某个值保证在所有的线程在同一个时间运作。可以根据一个公式来计算。
A>(T-T/N)/t A为循环次数,T为线程递增时间,N为线程,t为平均时间。如图2所示的话,A为T为4s (300/70),N为300,t为2.7s。
计算出来为1.5,即至少需要循环两次。
测试方案整体如下图3
图1
图2
图3
参考文档:https://blog.csdn.net/hsd412237463/article/details/49929173
特定QPS设定
jemter的QPS(也叫TPS)在聚合报告里也叫Throughput,吞吐量,意思是每秒的请求数,这个是非常重要的数据。
在很多压测中,有时候,我们想知道在QPS在特定的某个值时,服务器的性能是怎么表现的。
例子:设定QPS为20时,jmeter的配置。
在你的请求后添加定时器,如图1,然后配置的参数为60*20=1200。测试方案如图3
图1
图2
图3
版权声明:本文为LANNY8588原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。