JMeter:尽管用户负载增加,但吞吐量相同的可能原因是什么

JMeter: What could be possible reason of same throughput though user load has increased

尽管与之前的测试相比负载增加了很多,但吞吐量保持不变的可能原因是什么?注意:我什至在 运行 我的性能测试时收到错误“Internal Server Error”。

这意味着您已经达到了饱和点 - 最佳性能点!

一定数量的并发用户以最大 CPU 利用率和峰值吞吐量连接。添加任何更多并发用户将导致响应时间和吞吐量下降,并会导致 CPU 利用率达到峰值。此外,它可能会引发一些错误!

之后,如果您继续增加虚拟用户的数量,您可能会看到这些:

  • 响应时间正在增加。
  • 您的一些请求失败了。
  • 吞吐量保持不变或下降 - 这表明 performance bottleneck!

理想世界中的理想负载测试如下所示:

  • 响应时间保持不变,无论有多少虚拟用户访问服务器
  • 吞吐量增加与负载增加相同的因素,即:

    • 100 个虚拟用户 - 500 requests/second
    • 200 个虚拟用户 - 1000 requests/second

在现实中,被测应用程序可能 scale 达到一定程度,但最终您将达到增加负载但响应时间增加但吞吐量保持不变的程度(或下降)

调查 HTTP Status Code 500

The HyperText Transfer Protocol (HTTP) 500 Internal Server Error server error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request.

很可能表明被测应用程序过载,下一步将找出原因可能在:

  1. 应用程序不正常configured for the high loads(包括所有中间件:应用服务器、数据库、负载均衡器等)
  2. 应用程序缺少资源(CPU、RAM 等),可以使用 JMeter PerfMon Plugin
  3. 检查
  4. 应用程序使用 inefficient functions/algorithms, can be checked using profiling tools