mqtt客户端不断断连重连,时间5分钟

环境信息

  • EMQ X 版本:4.3.7
  • 操作系统及版本:linux
  • 其他

问题描述

客户端连接每五分钟断连重连一次:
客户端日志:
WARN [MQTT Rec: xxxx_2733838a-1545-4555-8887-36afba6c8944]c.c.p.m.b.m.autoconfigure.MqttConnector.connectionLost:169 - Mqtt connection lost.,
] INFO [MQTT Call: xxxx_2733838a-1545-4555-8887-36afba6c8944]c.c.p.m.b.m.autoconfigure.MqttConnector.connectComplete:162 - Mqtt reconnection success.,

服务端日志(每五分钟打印一次):
[warning] xxxx_2733838a-1545-4555-8887-36afba6c8944@172.20.97.4:37416 [MQTT] socket_error: busy

配置文件及日志

1 设备是不是有相同ID抢占登陆;
2 连接是否被设备主动断开

你这个好像是客户端消费能力不行。

消费端有提示connection lost

服务端是否需要调优

你调整服务端每个客户端连接队列大小,但是这个治标不治本;原因是消费能力不足,就算扩大缓存队列,无非就是延长了队列满的时间。2种方案:1.使用共享订阅,多增加几个客户端进行消费(这个你共享订阅开多少个客户端,这个就需要你消息大小,并发,网络带宽等各种因素进行评估);2,借用桥接到Kafka进行缓存(企业版的功能)。