首页 > 解决方案 > JMETER 4. 0 | JMeter 分布式负载测试 | jp@gc - 步进线程组 | 504 网关超时 | 非 HTTP 响应代码 | 断言失败

问题描述

考虑登录用户的场景->导航到页面01->保持用户5分钟->注销用户

脚本如下:

Step Up 线程配置一直保持这种方式:

步进线程组线程/加速配置

为了实现这个场景,分布式系统实现如下:

服务器配置如下:

注意:实例在 60% CPU 使用率时自动缩放。

在非 GUI 模式下使用步进线程为 500 个并发用户执行脚本时,仪表板报告上出现以下错误列表

有人可以帮我知道为什么会出现这些吗?当我检查负载平衡器 504/网关超时没有出现在那里?我试图跟踪这些错误,但无法弄清楚为什么会出现这些错误以及其他两个错误。当为 10 个用户执行相同的脚本时,GUI 模式下不会出现错误。

当为100-250 个并发用户执行相同的脚本时,它在没有上述错误时运行良好。

标签: jmeterperformance-testingload-testingjmeter-4.0distributed-testing

解决方案


如果 250 个虚拟用户没有出现问题,而 500 个虚拟用户出现了问题——这肯定是负载增加造成的瓶颈,你只需要找出原因。

  1. 确保将DNS 缓存管理器添加到您的测试计划中,否则您可能会遇到负载仅转到一台服务器的情况
  2. 设置对您的 EC2 实例的监控,以确保它们有足够的空间来运行 CPU、RAM、网络等。您可以为此使用Amazon CloudWatchJMeter PerfMon 插件
  3. 您可能希望在启用分析工具遥测的情况下重新运行测试- 这样您将能够查看应用程序花费大部分时间的位置
  4. 检查您的应用程序服务器、数据库等的配置,因为这可能是中间件的配置问题
  5. 请注意,根据 JMeter 最佳实践,您应该始终使用最新的 JMeter 版本,因此请考虑尽快迁移到 JMeter 5.0(或JMeter 下载页面上 提供的任何最新版本)。

推荐阅读