如何测量paho mqtt网络中的延迟
How to measure latency in paho-mqtt network
我正在尝试测量MQTT网络中从发布者到订阅者的延迟。我希望使用on_message((函数来测量这次旅行需要多长时间,但我不清楚这次回调是在broker收到消息之后还是在订阅者收到消息之后?
还有其他人对如何测量整个网络的延迟有其他建议吗?
on_message()
在消息到达订阅者时在订阅者上调用。
测量延迟的一种方法是在同一客户端中进行环回发布,例如
- 设置客户端
- 订阅给定主题
- 将消息发布到主题并记录当前(高分辨率(时间戳
- 调用
on_message()
时,再次记录时间
值得指出的是,这种测试假设发布者/订阅者都在类似的网络上(例如,不是蜂窝网络还是千兆光纤(。
延迟也会受到代理负载和给定主题的订阅者数量的影响。
另一种选择是通过监控网络被动测量延迟,假设您可以看到来自一个位置的所有流量,因为在监控点之间同步时钟非常困难。
我参与了类似的工作,我应该测量无线传感器网络中的延迟。有不同的方法来衡量延迟。
如果订阅服务器和客户端同步
- 在客户端用时间戳值填充有效负载并传输将该数据包发送给订阅者。在订户处再次占用时间戳并取subscriber和数据包中的时间戳值
- 这给出了数据包从到达用户所需的时间客户
如果订阅服务器和客户端未同步
在这种情况下,延迟的测量并不棘手。假设网络是对称的。
- 在向订阅者发送数据包之前,先在客户端启动计时器。配置订阅者将消息回显到客户端。停止客户端的计时器会计算时钟节拍的差异。这次代表往返时间,除以二得到一方向延迟
相关文章:
- 我的神经网络不起作用 [XOR 问题]
- GetShortPathName在网络驱动器上使用中文文件夹时失败
- 通过网络、跨平台传递std::变体是否安全
- 如何在MNIST上提高网络运行的准确性
- Active Directory:从网络服务帐户下运行的Windows服务调用ADsOpenObject时失败
- OpenCV 4.1.2 - 从网络摄像头获取帧并将其拆分
- 使用OpenCV和覆盆子上的多个网络摄像头拍摄延时摄影,出现多个V4L错误
- 神经网络不学习.卡在50%
- 如何绑定 C++ gRPC 客户端的网络接口
- 在本地网络中通过OpenCV(C++)实时流式传输图像
- 在不知道套接字的情况下关闭网络连接
- 是否有 Windows 用户空间函数来枚举连接的网络共享?
- 在没有管理员权限的情况下连接到同一网络中的命名管道
- AWS IoT 开发工具包:通过 TCP 端口 443 使用 MQTT
- 无法为 X.radio 创建中等可视化,因为找不到网络节点可视化 - Omnet++
- 将传入的网络"char*"数据转换为"uint8_t"并返回的安全方法是什么?
- 像 POCO 这样的C++图书馆如何访问网络?
- 使用源读取器从网络摄像头源获取 H264 样本
- 如何将网络模块添加到 QT pro 文件中?
- 如何测量paho mqtt网络中的延迟