EMQ压测数据包被丢弃

EMQX 版本5.7.2

EMQX 安装部署方式

deb 包安装部署

EMQX 集群情况

未使用集群,仅单节点;

服务器(运行 EMQX 的机器)硬件配置

硬件环境为一台4核8G内存的PC机,。

服务器操作系统和平台

ubuntu 18.04版本

服务端参数优化情况

默认参数,未优化处理

压力机硬件配置

本地主机

压力机使用的测试工具

Paho C 自己写的接收发送程序

压力机参数优化情况

未优化配置

在 EMQX 中启用的功能

未开启非默认功能

测试场景

具体问题

  1. localhost, 1883端口
  2. 收发两个独立任务,订阅统一测试主题。接收任务仅统计接收数量; 发送任务按照QOS=0向外连续发送一定数量N数据包,包长度为100B。
  3. 当N=50000时,测试状态稳定;当N>100000是,大约只能接收不到80000包数据。dashboard截图发现大量的丢包,和差值基本匹配。截图如下,请问这种丢弃是因为EMQ的缓冲区不够么?如何调整?

根据你提供的这个测试方法,都是会出问题的。只是 N 的大小问题。不论你设置多大的缓存区,比如:在 N=10W 没有问题。到了 100W 也会出问题。

如果你调成 infinity,就需要你的机器内存足够大。不然也会 OOM。

1 个赞