msgqueue 数据一直上涨,导致内存持续上涨,/acl 接口出现大量timeout

ACL 出现 Timeout

环境

  • EMQX 版本:4.4.1
  • 操作系统版本:ubuntu

问题描述

刚开始观察到同一集群中,存在资源消耗不均衡的问题,例如节点 1:

节点2:

并在这 4 台 emqx 中观察到有 2 台有出现 timeout 的日志,另外 2 台没有:

[ACL http] Request ACL path /**/**/acl, error: timeout

使用 bin/emqx eval 'observer_cli:start() 发现存在消息队列 (MsgQueue )的堆积

并观察到 MsgQueue 在持续上涨

其他

1 mesqueue 持续上涨
2 进程所消耗的内存持续上涨
3 emqx http acl server 持续随机性请求 error:timeout

猜测堆积的有可能是你的 ACL 的 HTTP 请求,但方便的话,最好描述下 EMQX 都配置/开启那些功能,及配置

2023-03-22T18:07:12.950946+08:00 [error] ********@176.98.25.36:59226 [ACL http] Request ACL path /path/servicename/acl, error: timeout

我们4台机器,有两台有问题出现acl timeout,有两台没有问题没有出现acl timeout

如果观察到一直在上涨,并确定是由 ACL 带来的的话,可以尝试把 ACL 相关的功能重启下,然后在观察看看

另外,建议安排个计划升级到最新版本的 v4.4.x。EMQX 在 HTTP 客户端请求这块做了大量的优化的