监听器的连接数量达到上限,但是实际连接却只有40w





这个建立的80w个连接后,长时间烤机测试,就这样了,这是什么原因导致的。感觉是监听器并没有正确识别到连接数。


补充emqx ctl observer status信息

  • 请收集下全量的 EMQX 日志信息。关键问题可能在日志的其他部分。
  • 请收集 EMQX 的 SSL 监听器配置。
  • 证书是怎样签发的呢?如可能,请私信发送证书,或签发命令以便尝试复现。

日志文件感觉被覆盖了,全部是一句话,maxlimit。
配置文件如下:
image

在emqx ctl observer status信息里面,msgqueue里面为什么会有78w的消息呀

我清理掉所有的监听器连接数,然后重新压了1w的连接,发现主界面连接数一个都没有,但是监听器的连接速是1w。



主界面显示的是 MQTT 连接数,监听器的连接数略有不同,是 socket 连接数。
你用的压测客户端是什么?
看起来是 socket 连接建立之后,因为连接速度太快, ssl 卡住了。刚刚截图中的进程 <0.1788.0> MsgQueue 有 78w 也可能是同样的原因。

  • 尝试下降低连接速率试试呢
  • 或者切换下别的压测工具,例如 emqtt-bench 作为客户端工具试一下呢?

我们是自己写的go语言建立的连接。后来一次性断开全部连接,然后重新发起建链。
现在用mqttx建立单个连接都不可以。mqttx发起连接,没有任何报错,也没有任何返回,就像是ip不通那样。但是监听器是加了1,但是连接数没有增加,认证好像也没走到。
这样子除了重启,怎样能恢复正常连接呢。


会是一次性断开太多,导致这边的队列内容过多嘛。现在环境是一直建立不了连接,后续加压,好像也是加到了队列里面,都是连接超时的样子。是不是只能等待队列里面清空才行。

用mqttx建立单个连接都不可以

尝试重新部署下,然后在完全「clean」的状态下用 emqtt-bench 或者 mqttx-cli bench 去压测跑个 80w 连接看看。

我们现在也正在调查 ssl 监听器层面的问题。有进展可以继续同步。另外 5.0.17 已经是比较老的版本了,你可以尝试下最新的 5.6.0 版本。