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

时间:2019-01-17 16:41:12

标签: jmeter performance-testing

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

1 个答案:

答案 0 :(得分:0)

根据您提供的the link

  

样本是由单个线程收集的,因此,如果一条命令花费的时间不多了,则样本收集的频率将受到限制。如果采样了多个命令,则更是如此。在这种情况下,为每个示例命令使用单独的监视器

因此,基本上每个采样器之后,JMeter必须执行45个SSH命令,并且根据上述说明,某些结果可能会被丢弃。

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

  1. 将单独的Thread Group与一个不执行任何操作且具有固定执行时间的Sampler一起使用,即Dummy Sampler。在这种情况下,您可以通过添加Constant Timer来控制间隔并定义所需的监视轮询间隔

  2. 转到JMeter PerfMon Plugin,它不需要建立连接并执行命令,仅通过TCP或UDP通道传递简单的度量标准(数字)。仍然强烈建议从第1点开始使用该方法。