我正在为一个NLB场构建一个JMeter测试计划。为了让JMeter测试用户访问NLB场中的所有服务器,我使用了DNS Cache Manager (否则所有测试都将转到场中的一台服务器上)。我已经创建了多个具有相同URL的静态主机表条目,但每个条目都具有唯一的IP地址(例如: bla.url.com -> 10.10.10.10 bla.url.com -> 10.10.10.11等)。
但是所有测试会话都转到主机表中的第一个条目,而不是围绕多个条目进行“循环调度”。
我尝试过以下方法:-使用系统主机文件而不是DNS缓存管理器-在DNS缓存管理器中启用清除缓存每次迭代-在Java安全属性中禁用Java缓存
发布于 2019-08-20 18:09:46
您误用了DNS缓存管理器,Static Host Table功能基本上是hosts file的实现,您可以在其中添加IP地址到主机名映射,以防您无法在操作系统级别执行此操作(即,由于缺乏管理员权限)。
对于您的特定场景,只需将DNS缓存管理器添加到您的测试计划中,以启用每线程DNS解析,而不是依赖于底层Java/操作系统实现,就足够了。您应该指定单个入口点,如load balancer的主机名,而不是在静态主机表中列出所有后端主机名。
更多信息:The DNS Cache Manager: The Right Way To Test Load Balanced Apps
https://stackoverflow.com/questions/57570500
复制相似问题