我有一个Jmeter负载测试脚本,用于测试一个有2899291个客户用户的场景。现在我使用下面的配置:线程数:100或200或300,斜升期:200或400或600。循环计数是无限的。如果持续时间为3600,启动延迟为5秒,则选中指定线程寿命。我使用100个不同的用户登录取决于线程计数。如何为2899291个客户最好地复制此场景?我需要提供的线程的最大数量是多少?如果我增加线程到28000,我是否也需要使用那么多的用户登录?
请提供您的意见。我是新的Jmeter和使用它以来,最后2个月。
现在我使用下面的配置:线程数:100或200或300,斜升期:200或400或600。循环计数是无限的。如果持续时间为3600,启动延迟为5秒,则选中指定线程寿命。
1条答案
按热度按时间kwvwclae1#
如果您需要测试您的应用程序是否能够处理2899291个并发用户,那么您将需要那么多线程。
唯一登录的数量主要取决于您的应用程序是否允许使用相同的凭据进行并发登录。一般来说,好的做法是将每个JMeter线程(虚拟用户)以100%的准确率Map到真实的用户,即您需要2899291次登录。
还要注意的是,一个JMeter示例最多可以支持~ 65000 concurrent connections,因此您需要使用45台机器来支持JMeter Distributed Testing,才能启动这么多机器。
然而,你可能需要的更少,例如,我刚刚执行了this query,它返回了
20312833
,但我强烈怀疑2000万用户正在访问该网站,并做24 x7 x365。例如,Our Audience page表示每月有1亿次访问,因此如果我们假设每个人都均匀地使用StackOverflow,则意味着2000万用户中的每个人每月仅打开网站5次。
因此,如果您想复制您系统的生产使用情况,您可以检查其access logs或Google analytics或任何您确实获得此2899291数字的来源,并查看哪些是活动周期,是否存在峰值,会话持续时间,用户平均执行了多少请求,等等。