Jmeter 需要什么设置才能使 Jmeter 和服务器分析中的并发用户相等

What settings Jmeter require so that concurrent users in Jmeter and on server analysis gets equal

我遇到了一些问题,不确定是我遗漏了什么还是开发人员方面的问题。

我的 Jmeter 计划是[我正在使用 Ultimate 线程组]:

Start Threads Count: 2000
Initial Delay : 0
Startup Time : 400 Seconds
Hold for Load : 600 Seconds
Shutdown Time : 60 Seconds

根据以上计划,服务器上应该有2000个并发用户至少600秒。我可以在 jmeter 中看到所有用户都处于活动状态 600 秒并向服务器发送请求。

问题:

服务器团队说:他们在服务器端只能看到 10 - 15 个并发用户。 负载平衡和数据库团队也这么说。

我问过他们关于网站并发用户的设置,他们已经允许 10k。

现在这可能是个问题?为什么 Jmeter 显示 2000 个活跃用户,但在服务器上他们只能看到 10-15 个?

我是否应该在我的并发负载测试计划中使用任何其他插件或控件?

I can see in jmeter that all users are active

在哪里可以看到?使用 JMeter GUI 右上角的绿色方块?使用监听器?使用 HTML Reporting Dashboard


JMeter 默认配置仅适用于测试开发和调试,当涉及到运行 负载测试时,您需要调整一些参数以获得最佳性能。您需要做的主要事情是:

  1. 增加 JMeter 启动脚本中的 JVM 堆大小
  2. Run your test in command-line non-GUI mode
  3. Disable all the listeners

并发用户数与您在终极线程组中定义的用户数不同,但它是整个测试的结果以及您如何配置测试计划。

以下是决定并发性的一些关键因素:

  1. 总用户数:用户数越多,并发用户数越多。成正比
  2. Loop Count:它是在整个测试过程中保持线程活跃的主要因素。检查您指定的值。通常它会被设置为 Forever 以便线程在整个测试过程中处于活动状态。
  3. User Think Times(测试计划中的计时器):您指定的思考时间越多,并发度越低。间接成比例。
  4. 服务器响应时间:服务器响应请求的时间越长,并发越少。间接成比例。
  5. 系统资源(客户端机器(JMeter)和服务器机器):资源利用率越高,服务器响应时间越长,最终导致并发性越低。
  6. 服务器配置:服务器配置肯定会影响系统。在高配置机器中保持较少数量的线程会导致低并发性,反之亦然。关注服务器的以下属性,maxThreads(可以 运行 在服务器上支持多个客户端),maxConnectionsacceptCount 等(我提供的名称是根据tomcat server 并且命名可能因服务器而异)

因此,请检查这些因素如何决定测试的并发性。

使用 Listener jp@gc Active Threads Over Time 了解活动线程。

并非所有 vuser 都保持连接已建立。我想你可以检查是否建立了真正的 2000 个连接。当你运行你的测试时,只需在Linux中使用"netstat"命令来显示Jmeter进程的tcp连接数。 "ESTABLISHED" 状态下的连接应与服务器相同。