v4.1.5测试1发布 1订阅 1topic,发布端100个消息每秒,订阅端接收消息延迟很大,发布端一会就断开连接

环境信息

  • EMQ X 版本:开源版v4.1.5
  • 操作系统及版本:Centos7
  • 其他 12核 16G内存

问题描述

1发布 1订阅 1topic,发布端100个消息每秒,订阅端接收消息延迟很大,发布端一会就断开连接。关掉订阅端再测试,发布端的情况没有改善

配置文件及日志

无插件,acl无访问限制

debug需要信息:
1 测试工具是什么?
2 日志。

测试工具是Java,用org.eclipse.paho.client.mqttv3,1.2.0自己开发的


心跳超时120s


主题监控竟然9条消息后不再显示新消息

日志里面还能看到有消息流入吗?

后台没有消息流入了

pub端,是接到tcp客户端上报的数据后放入线程池进行mqtt发布消息,发布成功的回调跟主题监控统计数也一致,请问是pub的方式有问题吗

目前看是pub端的问题,刚才把paho.client升级到1.2.5又测试,pub成功了16个消息后connectionLost,线程池中堆的消息就都丢了,然后自动重连了。

paho.client的性能是不是不行,我试试官方文档中列出的其它方式

java的paho库有一个要注意的地方,不要在收到消息的回调函数 messageArrived 里做 publish,会导致收消息的业务完成阻塞,消息队列还卡在上一条消息中,代码执行卡在publish的过程中,这是paho的设计,需要注意避免。看下你有没有做类似的操作

没有这样的操作,单侧上报数据,没有下发数据

使用日志追踪看一下设备的情况参考文档