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   星空6  阅读(18192)  评论(5编辑  收藏  举报

编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
< 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

导航

统计

点击右上角即可分享
微信分享提示