如何在负载均衡器后面的2个节点之间分配JMeter测试计划的请求,两个节点的IP都不是公共IP?

时间:2017-05-26 07:26:35

标签: jmeter load-balancing

我正在使用JMeter 3.1

我们有一个带有公共IP的负载均衡器(即:192.87.00.00)已实施SSL,我们使用该IP与LB进行通信 LB将决定哪个节点当前具有最少数量的请求,以便它将获得该呼叫。

在LB后面有2个节点具有非公共IP和非安全协议,在这两个节点中我们实现了会话复制。

每当我运行JMeter测试时,我的所有请求都会根据LB的配置设置每次都转到任何一个节点。现在我 已被要求设计一个测试计划,其中所有请求随机分布在两个节点之间。

我创建了以下测试:

Test Plan
 DNS Cache Manager
 HTTP Cookie Manager
 HTTP Cache Manager
Thread Group
    Req 1
    Req 2
    Req 3

Test Plan and DNS Cache Manager

TG and HTTP request

在http请求中,我将负载均衡器公共IP,端口并在“实施”下拉列表中选择“httpClient4”。 在DNS缓存管理器中,我选择“使用自定义DNS解析程序”,在“DNS服务器”部分中,我定义两个节点的IP地址。

当我运行我的测试计划时,我注意到我的所有请求都转到了单个节点。我通过拖尾两个节点tomcat验证了这一点 登录putty控制台并查看哪个节点正在获取请求。 我在Apache JMeter帮助和一些博客中研究DNS缓存管理器,我实现了我所学到的请在这方面帮助我。 谢谢!

1 个答案:

答案 0 :(得分:0)

您的HTTP Sampler中保持活动状态。把它关掉。

我不知道你正在使用什么LB,虽然我认为它适用于TCP级别而不是终止HTTP(S)。 所以在这种情况下,它只是将数据包隧道传送到实际的服务器。而且,通过保持活力,它显然会坚持一开始就选择它。