如何在 MQTT 中放置入队和出队时间戳 / 查找 MQTT 延迟
How to put queue-in and queue-out timestamp in MQTT / Find MQTT latency
我想查找 MQTT 队列中的排队时间,例如事件进入队列时的到达时间和事件从队列中取出时的摄取时间。减去这两个时间可以给我排队延迟。我如何找到它?
MQTT 中没有排队(除了具有高 QOS 订阅的离线客户端),消息在代理收到消息后立即传递给所有订阅主题的客户端。
如果您想知道代理处理一条新消息需要多长时间,那么这将取决于代理、它 运行 所在的机器、订阅该主题的客户端数量(以及QOS)和负载水平是多少。您可以通过增加给定代理上的日志记录来计算这一点,但这将是特定于代理的,并且日志记录级别的任何增加也可能会增加延迟。您最好的选择是查看网络流量以跟踪入站和出站消息,wireshark 之类的东西可能是最好的。
我想查找 MQTT 队列中的排队时间,例如事件进入队列时的到达时间和事件从队列中取出时的摄取时间。减去这两个时间可以给我排队延迟。我如何找到它?
MQTT 中没有排队(除了具有高 QOS 订阅的离线客户端),消息在代理收到消息后立即传递给所有订阅主题的客户端。
如果您想知道代理处理一条新消息需要多长时间,那么这将取决于代理、它 运行 所在的机器、订阅该主题的客户端数量(以及QOS)和负载水平是多少。您可以通过增加给定代理上的日志记录来计算这一点,但这将是特定于代理的,并且日志记录级别的任何增加也可能会增加延迟。您最好的选择是查看网络流量以跟踪入站和出站消息,wireshark 之类的东西可能是最好的。