【问题标题】:Graph for individual sampler throughput in grafana using jmeter and influx db使用 jmeter 和 influxdb 在 grafana 中的单个样本吞吐量图
【发布时间】:2016-10-05 06:45:42
【问题描述】:

我正在尝试使用 influx db 绘制我在 jmeter 和 grafana 中的单个采样器的吞吐量。

下面是我的 jmeter 测试,其中 3 个线程组具有虚拟采样器。

1。

2.

3.

根据jmeter如何计算吞吐量,

第一秒的吞吐量应为 10,10 秒后的吞吐量应为 2,类似地,20 秒后的吞吐量应为 5。

我在下面附上了 influx db 截图

在 grafana 中使用这个即时绘图:

下面是我所拥有的:

但是,在图表中,您可以看到所有显示在特定时间的吞吐量。 不应该是这样的。

我参考了中给出的模板 :http://www.testautomationguru.com/jmeter-real-time-results-influxdb-grafana/6

为了您更好的理解 使用模板获取 grafana 中的所有采样器名称 我也问过同样的问题here

我认为这不适用于吞吐量计算。

有人可以帮助我吗?任何其他方式来满足我的要求。

或者我错了(寻找吞吐量)

有没有办法更新 JAR 文件或添加新的 JAR 文件以添加与吞吐量相关的表(与我们在 JMETER 中获取的方式相同)

或者谁能告诉我我们如何获得增量、样本和总表。

【问题讨论】:

    标签: jmeter influxdb grafana throughput


    【解决方案1】:

    你使用修改后的 apache_core.jar 吗?如果是,则不需要使用 Backend Listener。因为,假设您已更新属性文件中的所有 influxdb 详细信息,修改后的 jar 本身会将数据发布到 influxdb。

    对于您的问题和测试设置,当您计算每个样本的吞吐量时,上述 grafana 吞吐量看起来是正确的。为了更好地理解这一点,请运行此测试更长的时间 - 比如说至少 10 分钟。

    ThreadGroup 1:1 秒内,10 个用户发出了 10 个请求。所以吞吐量显示为 10。

    对于所有其他线程组也是如此,基于发送到服务器的请求/单位时间(在您的情况下为 30 秒) - 计算吞吐量。

    让我们考虑这个例子:

    比方说,您在 1:00:01 发送一个请求,下一个请求在 1:00:05 发送 - JMeter 会简单地说它是 2 个请求/4 秒(jmeter 给出总数)。但是grafana会显示每个时间间隔的结果

    1 秒间隔:

    throughout 1 at 1:00:01
    throughput 0 at 1:00:02
    throughput 0 at 1:00:03
    throughput 0 at 1:00:04
    throughput 1 at 1:00:05
    

    5 秒间隔:

     throughput 2 at 1:00:01 - 1:00:05
     throughput 0 at 1:00:05 - 1:00:10
    

    所以我的观点是 JMeter 和上面的图表都是正确的。这取决于我们如何看待数据。

    更新 2:

    long org.apache.jmeter.samplers.SampleResult.getTimeStamp()

    Get the sample timestamp, which may be either the start time or the end time.

    【讨论】:

    • 吞吐量不等于我感觉的请求数/秒。如果是这种情况,那么处理这些请求所花费的时间将会计算在内。
    • jmeter如何计算请求数/(请求开始时间的结束时间)
    • 然后查看 JMeter 计算吞吐量的聚合器仪表板。 jmeter.apache.org/usermanual/glossary.html - 在 Grafana 中 - 您需要按时间间隔绘制图表 - 因此基于该吞吐量得出。
    • @shey,请参阅更新后的答案,以更好地理解
    • 您好,感谢您花时间回答我的问题并更新它。我的疑问是,如果我要在 1:00:01 时收到 10 个请求,那么我会收到 8 个回复服务器在几毫秒内..对于其他两个请求在 5 秒后得到响应。现在如果我们使用 jmeter throuhghput @ 1:00:01 应该是 8 而不是 10 ..但是在 influx db 或 grafana 中我们得到的吞吐量为 10 1:00:01 即使我们没有从服务器获得 2 个请求的响应..我有道理吗@vins
    【解决方案2】:

    我将以下内容用于吞吐量

    <rootMetricsPrefix><samplerName>.h.count
    Server hits per seconds, this metric cumulates Sample Result and Sub results (if using Transaction Controller, "Generate parent sampler" should be unchecked)
    

    在 grafana 中使用以下内容,例如

    select value from "jmeter.all.h.count"  WHERE $timeFilter
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多