当尝试在JMeter 5.1.1中运行负载测试时,如果服务器放弃,测试总是在最后冻结。如果服务器不放弃,测试将正确完成。现在这很可怕,因为测试的重点是看看服务器在什么时候放弃,但如前所述,测试永远不会结束,有必要手动杀死它。
例:
- 测试为本地服务器运行 500 个线程顺利并完成 与
tiding up
消息 - 为基于云的服务器运行 500 个线程的完全相同的测试 在某些时候,错误测试的结果达到大约 99% 然后 冻结摘要,如下例所示:
摘要 + 99 in 00:10:11 = 8.7/s 平均: 872 最小: 235 最大: 5265 错误: 23633 (100.00%( 活跃: 500 开始: 500 完成: 480
就是这样,你可以永远等待,它只会卡在这一点上。
尝试使用不同的线程类型但没有成功。下一步是更改 Sampler 错误行为,是的,将其从Continue
更改为Start Next Thread Loop
或Stop thread
帮助和测试正在结束,但随后导致 html 看起来奇怪且不准确。我什至尝试在 HTTP 请求默认值中将超时设置设置为 60000 毫秒,但这也给出了奇怪的结果。
也就是说,有人可以告诉我如何成功运行服务器的负载测试,以便无论问题如何都始终完成并且准确> 此外,我确实看到了关于同一问题的几个旧问题,他们没有任何有用的答案。或者是否有任何其他更可靠的开源测试应用程序也具有GUI来创建测试?
您有 100% 的错误,无论如何对我来说看起来很"奇怪"。
如果在 HTTP 请求默认值中设置连接和响应超时没有帮助 - 很可能是"挂起"的原因存在于其他地方,确定它的唯一方法是进行线程转储并分析线程的状态,注意那些BLOCKED
和/或WAITING
的线程。然后,您应该能够将其追溯到导致问题的JMeter测试元素,并仔细研究可能出现的问题。
其他提示包括:
- 在 jmeter.log 文件中查找可疑条目
- 确保 JMeter 有足够的余量在 CPU、RAM、网络套接字等方面运行。可以使用JMeter PerfMon插件来完成
- 确保遵循 JMeter 负载测试"内存不足"失败的 9 个简单解决方案中的建议