EMQx消息吞吐量不稳定

环境信息

  • EMQX 版本:emqx/emqx:4.3.12
  • 操作系统及版本:docker
  • 其他:emqx单节点

问题描述

测试方法:按照平均速率模拟向EMQx发mqtt数据包,然后通过EMQx官方提供的Grafana模板监控指标。(连续测试了一周)
期待结果:监控到的Throughout(以及Message Received/Sent)指标应该是一条直线。
实际结果:监控到的上述指标是一个固定周期的方波,如附件图片所示。(方波周期占比大概是:3.5h + 1.5h)

配置文件及日志

通过第一个图可以看到收到的报文字节数大小和mqtt 收到的消息同频率的方波。这个建议查一下发布消息接收消息的频率哪里出现导致的。

模拟发布消息的一端:是使用固定大小的数据包、按照固定频率发送的。

模拟接收消息的一端:在收到上述每条消息后,再反馈(发布)一个固定大小的数据包。

以上测试流程频率都是固定的。

那为啥收到的报文突然增加的呢?肯定是外部有发送,服务端才能收到。

从截图来看,基本上确定是施压的机器频率不稳定(怀疑是有奇怪的GC行为)。可以监控一下施压机器的状态。
推荐使用xmeter作为压力测试服务器,我们长期使用这种方式,还没有遇到你的情况。

不好意思 过了很久才回复,当时也是怀疑可能是机器问题,就暂时搁置了这个问题。

我们使用的机器是虚拟机服务器(戴尔服务器 安装ESXi,再安装CentOS7,再安装docker版EMQx),这台物理机器上面同时运行了多台虚拟机服务器。

等有机会,我们再用 单独物理机 或 你说的xmeter平台 验证一下。

1 个赞