jmeter 测试某网页最大并发用户数;

在jmeter中,提到m并发,你可能马上想到线程数设置为m;

调节服务器压力的是rps,即每秒请求数;rps由线程数,循环次数,ramp-up time调节;

问题:

有一个页面,需要测试一下最大支持多少用户并发?

此时需计算的是最大用户并发数,强调的是同时操作,也可以理解为同时发起请求;

针对这个问题,我们可以通过rps定时器或阶梯加压线程组测试每秒最大的请求数;

在平衡状态下,并发数=RPS*响应时间;可参考https://help.aliyun.com/product/29260.html?spm=a2c4g.11186623.6.540.1d4411a4GB0RBd

a)使用jp@gc - Throughput Shaping Timer(吞吐量成形计时器,调节rps的定时器);

设置线程组中线程数为50,ramp-up时间为1s,永远循环;同时在请求下面加rps定时间,rps由1增加到400/s;测试最终运行时间取 线程组运行时间 与 定时器时间的最小值;

 

 查看运行后的结果,发现HPS增长到140之后,稳定了十几秒,随后HPS平均在100左右;

该HTTP请求是本人阿里云服务器上部署的项目;

 

 TPS上升到48/s稳定了十几秒,然后TPS平均在30/s左右;

 

 响应时间基本在3s以内;

 

 

稳定情况下,最大rps约为140/s,响应时间为1.6s,最大并发=140*1.6=224;可以理解为只要启动224个线程就可以在1s内满足140/s的rps压力值;

线程组中线程数改为100,其它保存不变;rps和tps数值大致也是一样的;

 

 

 

 

 

 b)使用阶梯加压线程组

 

 

 

 

 

 

 

上述得出结论, tps=48/s,最大并发=rps*rt=140*1.6=224;可以理解为只要启动224个线程就可以在1s内满足140/s的rps压力值;

下面可以来验证一下,线程组的线程数设置为224,其它值可随意,(如,设置定时60s,循环次数设置为100,因为并发数=rps*响应时间 是在平衡状态下得出的结论,所以运行时间不能太短)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

==================================可更改请求内容,简单判断是网络问题还是服务器======================

 

 

 

 

posted on 2020-03-31 17:58  星空6  阅读(17849)  评论(5编辑  收藏  举报

导航