如何测量paho mqtt网络中的延迟

How to measure latency in paho-mqtt network

本文关键字:网络 mqtt 延迟 paho 何测量 测量      更新时间:2023-10-16

我正在尝试测量MQTT网络中从发布者到订阅者的延迟。我希望使用on_message((函数来测量这次旅行需要多长时间,但我不清楚这次回调是在broker收到消息之后还是在订阅者收到消息之后?

还有其他人对如何测量整个网络的延迟有其他建议吗?

on_message()在消息到达订阅者时在订阅者上调用。

测量延迟的一种方法是在同一客户端中进行环回发布,例如

  1. 设置客户端
  2. 订阅给定主题
  3. 将消息发布到主题并记录当前(高分辨率(时间戳
  4. 调用on_message()时,再次记录时间

值得指出的是,这种测试假设发布者/订阅者都在类似的网络上(例如,不是蜂窝网络还是千兆光纤(。

延迟也会受到代理负载和给定主题的订阅者数量的影响。

另一种选择是通过监控网络被动测量延迟,假设您可以看到来自一个位置的所有流量,因为在监控点之间同步时钟非常困难。

我参与了类似的工作,我应该测量无线传感器网络中的延迟。有不同的方法来衡量延迟。

如果订阅服务器和客户端同步

  • 在客户端用时间戳值填充有效负载并传输将该数据包发送给订阅者。在订户处再次占用时间戳并取subscriber和数据包中的时间戳值
  • 这给出了数据包从到达用户所需的时间客户

如果订阅服务器和客户端未同步

在这种情况下,延迟的测量并不棘手。假设网络是对称的。

  • 在向订阅者发送数据包之前,先在客户端启动计时器。配置订阅者将消息回显到客户端。停止客户端的计时器会计算时钟节拍的差异。这次代表往返时间,除以二得到一方向延迟