EMQX 版本
EMQX 5.8
EMQX 安装部署方式
通过k8s部署
EMQX 集群情况
单节点
服务器(运行 EMQX 的机器)硬件配置
具体型号未知,但是k8s限制了8核
服务器操作系统和平台
centos7.x
服务端参数优化情况
所有的限制都改成了无限制,除了队列长度是10w,飞行窗口是1000
压力机使用的测试工具
自己写了一个java代码压测,一次性发送10w条消息
压力机参数优化情况
在 EMQX 中启用的功能
无
测试场景
用一个java客户端预备100个线程作为连接池,用连接池内的链接给emqx发送消息,再用java程序单节点去订阅消息,收到消息后,会在用这个客户端回复一条消息。发送和订阅的客户端使用的是异步客户端。
我发现一个现象,假设整个压测的时间是2分钟,那么前面的几十秒,收消息比较慢,从数据上看,出了了一批消息后延迟了几秒才收到下一批消息。但是后半部分的处理就没有这个问题,消息是源源不断得收到,当我结束一轮压测之后,再次开启下一轮(没有重启任何服务),还是会出现这个问题,不是线程预热问题也不是数据库预热问题,已经排查了。