为一台主机添加多个 IP 地址时,JMeter DNS 缓存管理器不起作用

JMeter DNS Cache manager not working when adding multiple IP adressess for one host

我正在为 NLB 场构建 JMeter 测试计划。为了让 JMeter 测试用户访问 NLB 场中的所有服务器,我使用了 DNS 缓存管理器(否则所有测试都将转到场中的一台服务器)。我创建了多个具有相同 URL 的静态主机 Table 条目,但每个条目都有一个唯一的 IP 地址(例如:bla.url.com -> 10.10.10.10 bla.url.com -> 10.10 .10.11 等)

但是所有测试会话都转到主机中的第一个条目 table 而不是 "round robin" 围绕多个条目。

我试过以下方法: - 使用系统主机文件而不是 DNS 缓存管理器 - 在 DNS 缓存管理器中启用每次迭代时清除缓存 - 在 Java 安全属性

中禁用 Java 缓存

您滥用了 DNS 缓存管理器,Static Host Table 功能基本上是 hosts file 的实现,您可以在其中将 IP 地址添加到主机名映射,以防您无法在操作系统级别执行此操作(即由于缺乏管理员权限)。

对于您的特定场景,只需将 DNS 缓存管理器添加到您的测试计划即可启用每线程 DNS 解析,而不是依赖底层 Java/operating 系统实现。并且您应该指定一个入口点,例如 load balancer 的主机名,而不是在静态主机 table 下列出所有后端主机名。

更多信息:The DNS Cache Manager: The Right Way To Test Load Balanced Apps