JMeter - 负载均衡
JMeter - load balancing
在我们的应用程序中,我们有 6 个应用程序服务器实例。
手动测试时,会随机登陆某个节点。
当我 运行 我们的 JMeter 测试(有 20 个用户)时,大部分负载 (70%) 转到 6 个节点中的 1 个特定节点。
30% 从剩下的 5 个转到另一个特定节点。
我通过请求 cookie 中设置的 JSESSIONID 查看信息。
问题:
我在想负载将在所有 6 个节点上均衡(或多或少)。
这是我的申请问题吗?或者它与 JMeter 有什么关系吗?
注:
- 我们的应用程序服务器是 JBoss。它是一种基于 cookie 注入的负载平衡。
- 我不通过 cookie 将请求发送到任何特定的应用程序服务器。 cookie 是自动设置的。
首先确保将HTTP Cookie Manager 添加到您的测试计划中,它应该足以自动解决基于cookie 的负载平衡问题。
如果您有 > 1 个负载均衡器实例或负载均衡器解析为 > 1 个 IP 地址,您可能需要添加 DNS Cache Manager as well. See The DNS Cache Manager: The Right Way To Test Load Balanced Apps 指南以获得更好的解释和配置详细信息。
除了 Dmitri 的建议之外,您还应该检查 LB 的配置方式。
在很多情况下,LB 会根据源 IP 分发请求,因此来自 Jmeter 服务器的所有请求都会到达同一个目标。
特别是当 LB 没有终止 https 流量时会发生这种情况。
在我们的应用程序中,我们有 6 个应用程序服务器实例。
手动测试时,会随机登陆某个节点。 当我 运行 我们的 JMeter 测试(有 20 个用户)时,大部分负载 (70%) 转到 6 个节点中的 1 个特定节点。 30% 从剩下的 5 个转到另一个特定节点。
我通过请求 cookie 中设置的 JSESSIONID 查看信息。
问题:
我在想负载将在所有 6 个节点上均衡(或多或少)。 这是我的申请问题吗?或者它与 JMeter 有什么关系吗?
注:
- 我们的应用程序服务器是 JBoss。它是一种基于 cookie 注入的负载平衡。
- 我不通过 cookie 将请求发送到任何特定的应用程序服务器。 cookie 是自动设置的。
首先确保将HTTP Cookie Manager 添加到您的测试计划中,它应该足以自动解决基于cookie 的负载平衡问题。
如果您有 > 1 个负载均衡器实例或负载均衡器解析为 > 1 个 IP 地址,您可能需要添加 DNS Cache Manager as well. See The DNS Cache Manager: The Right Way To Test Load Balanced Apps 指南以获得更好的解释和配置详细信息。
除了 Dmitri 的建议之外,您还应该检查 LB 的配置方式。
在很多情况下,LB 会根据源 IP 分发请求,因此来自 Jmeter 服务器的所有请求都会到达同一个目标。 特别是当 LB 没有终止 https 流量时会发生这种情况。