gpt4 book ai didi

JMeter 负载测试导致目标服务器 CPU 达到 100%

转载 作者:行者123 更新时间:2023-12-05 07:46:38 26 4
gpt4 key购买 nike

我的任务是在客户的 QA 服务器上提供服务器性能报告。理想情况下,客户希望对约 900 个并发用户进行负载测试,因为这是他们在高峰时段通常使用的数量。然而,我一直在做的负载测试正在使他们的 QA 服务器快速达到 100% CPU,只有 50 个并发用户,最终它只是卡住并变得不可用,所以现在他们只想知道是不是他们的 QA 服务器问题(低 CPU/RAM)或者我是否采取了错误的步骤。

我在远程服务器上使用 JMeter,访问 QA 服务器(在其网络中)。我在没有监听器的控制台模式下运行它。 QA 服务器有一个运行频率为 2.50 GHz 的四核 CPU,4 GB RAM。生产服务器和我运行 JMeter 的服务器是相同的。

我看到一个SO thread说高 CPU 可能是因为 JVM 中的高内存。因此,我寻找监控 JVM 内存使用情况的工具,并遇到了 VisualVM。不幸的是,我对它的理解还不够好,无法使用它;我将它安装在 QA 服务器上,但我想不出办法让它找到在另一台服务器上运行的测试计划。我在启动测试计划后立即启动它,但没有任何显示。我确实添加了远程服务器,但我看不到任何从那里开始的选项。

我是否应该使用其他负载生成实用程序或采取任何替代步骤?

最佳答案

恭喜你找到了瓶颈。如果目标服务器无法处理 100 个用户,您应该通过以下方式确定它可以支持的最大用户数:

  1. 逐渐增加负载,即使用更改加速时间,以便每隔几秒添加额外的用户。
  2. 同时通过即PerfMon检查目标服务器CPU使用率JMeter 插件
  3. 当目标服务器的 CPU 使用率接近 100% 时 - 使用即 Active Threads Over Time Listener 提及当时有多少用户正在访问服务器
  4. 展望 future ,找出问题的根源并检查哪个进程导致高 CPU 使用率是一个很好的做法,并且根据结果,您可以建议将该进程移动到另一台服务器(以防它是数据库服务器) ) 或 do some profiling如果问题出在被测应用程序上,以确定哪个组件是 CPU 密集型

参见 How to Monitor Your Server Health & Performance During a JMeter Load Test文章了解详细的 PerfMon 插件配置和使用说明。

关于JMeter 负载测试导致目标服务器 CPU 达到 100%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40515636/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com