如何对每秒 20,000 个用户请求的应用程序进行性能测试?

时间:2021-01-28 05:00:33

标签: performance jmeter

我想将 20000 个用户请求的负载放在我的服务器上,以测试它能否在一秒钟内处理这个数量的请求。

我已经把线程数(用户) - 20000 加速时间(秒) - 1 循环次数 - 1

输出 - 在完成脚本后显示 20 秒平均时间。

2 个答案:

答案 0 :(得分:0)

解释输出: 它表明服务器的平均响应时间为 20 秒。

要检查您的服务器是否可以每秒处理 20000 个用户, 从非 GUI 模式 (Generating HTML dashboard report) 运行测试计划。因为 20000 是一个巨大的数字。

充分利用非 GUI 模式,添加 JMeter 插件管理器。添加您需要的必需报告。

如果我没记错的话,您要实现的是每秒 20000 的吞吐量。使用非 GUI 模式下生成的 HTML 仪表板报告中的每秒事务数图表也可以找到相同的结果。

此插件可能对您的用例有所帮助:Throughput Shaping Timer

要达到所需的每秒 20000 名用户,您需要根据输出尝试增加和循环计数。最终目标应该是您的每秒事务数图表应该在一个时间点显示 20000 或更多,同时错误应该为零,然后您的服务器能够每秒处理 20000 个用户。但平均服务器响应时间也是一个需要注意的重要指标。因为没有用户希望服务器响应缓慢。

您也可以考虑 Concurrency thread group。该线程组专门用于生成所需数量的并发用户。

答案 1 :(得分:0)

如果您尝试执行 Spike Test,例如访问具有 20 000 个用户的应用程序 1 秒 - 您的配置很好,并且应用程序未通过测试,因此您可以提出问题。

但是我的印象是你的测试有点短,不能说明全部内容

  1. 只有当您的应用程序响应时间为 1 秒时,20 000 名用户才会每秒产生 20 000 个请求。如果您的应用程序响应时间为 0.5 秒 - 负载将为每秒 40 000 个请求,如果响应时间为 2 秒 - 负载将为每秒 10 000 个请求,如果响应时间为 20 秒 - 负载将为每秒 1000 个请求第二,等等。如果需要,请参阅 What is the Relationship Between Users and Hits Per Second? 文章了解更多详情。

  2. 通常你应该逐渐增加负载,这样你就有可能将增加的负载与 other metrics(响应时间、吞吐量、错误数量等)相关联,所以我建议去斜坡 -上升 -> 高原 -> 斜坡下降设置并检查在这个“高原”阶段每秒的请求数

  3. 20000 个虚拟用户是一个相当大的数字,因此请务必关注 JMeter Best Practices 并且您可能不得不选择 Distributed Testing

相关问题