收集 SSH 侦听器时出现问题 data/Jmeter 延迟收集侦听器数据

Issues when gathering SSH listener data/Jmeter delay to gather listener data

我在 Jmeter 中进行了性能测试。 我有一些应该检索 CPU 和 RAM 使用情况的 SSH 侦听器。我想清楚地解释 Jmeter 在测试 运行 时用于收集侦听器值的延迟。 用户是否可以设置该延迟值?如果可以,Jmeter 支持的最小值是多少。 听众当前收集的数据有点随机,我认为这一点都不好。目前我在结果中没有相似数量的条目,尽管在两个听众中我有相同数量的命令。 我尝试将 jmeter.properties 中的 jmeter.sshmon.interval 的值设置为 100 和 3000 毫秒,但这没有帮助。 我所做的测量如下: 备注一: * CPU CSV 使用文件有 1211 个条目 * RAM CSV 使用文件有 1201 个条目 * 使用的线程数 CSV 文件有 1276 个条目 尽管在我的测试计划中,三个侦听器的 SSH 命令数量(15)完全相同,并且它们在测试计划中设置在同一级别。 备注二: 执行每组 SSH 命令以检索 CPU 用法值的持续时间是可变的。我用时间戳差异来衡量它,它不是相同的持续时间,有显着差异。 备注三: 当我比较执行一组 SSH 命令以检索 CPU 使用情况和 RAM 使用情况的持续时间时,我发现持续时间有很大差异。 我发现这个 link: https://github.com/tilln/jmeter-sshmon 是由插件所有者找到的,但这并没有解决我的问题。 谢谢

根据 the link 你提供的:

Samples are collected by a single thread, so if a command takes more than an insignificant amount of time to run, the frequency of sample collection will be limited. Even more so if more than one command is sampled. In this case, use a separate monitor for each sample command.

所以基本上在每个采样器之后 JMeter 必须执行 45 个 SSH 命令,根据上面的解释,一些结果可能会被丢弃。

所以我建议采用以下解决方法:

  1. 使用单独的 Thread Group with a single Sampler which does nothing and has fixed execution time, i.e. Dummy Sampler. In this case you can control the interval by adding a Constant Timer 并定义所需的监视轮询间隔

  2. 选择 JMeter PerfMon Plugin,它不需要建立连接和执行命令,仅通过 TCP 或 UDP 通道传递普通指标(数字)。仍然强烈推荐第 1 点的方法。