我使用 jmeter perfmon 插件来收集资源使用情况。当我运行分布式测试时,每个客户端都从服务器收集数据还是只有主客户端从服务器收集数据?第一种可能性没有用。
答案1
当你在分布式中运行测试时,主节点会发送整个测试计划给从属设备并让他们独立执行整个测试计划。
如果你有一个Perfmon 指标收集器测试计划中的监听器 - 它将由所有的奴隶
如果您只希望一台机器收集指标(这非常合理),则选项如下:
- 最简单的方法:创建一个单独的测试计划,该计划仅执行性能指标收集,并在单独的会话中在主机上运行它
稍微难一点:创建一个线程组在你的主测试计划中如果控制器那里。在 If Controller 中使用 ie__machineIP() 函数喜欢:
${__jexl3("${__machineIP()}" =="IP address of the individual slave here",)}
完成后你可以把虚拟采样器并将 PerfMon Metrics 收集器监听器附加到它。这样,采样器和监听器将仅在符合 If Controller 条件的机器上执行。