EMQX 版本
EMQX 5.8.1
EMQX 安装部署方式
ubuntu 22.04,按官网教程
EMQX 集群情况
5 个节点组成集群
服务器(运行 EMQX 的机器)硬件配置
16核 32GB
服务器操作系统和平台
Ubuntu 22.04, amd64
服务端参数优化情况
官网推荐的优化参数
压力机硬件配置
16核 32GB
压力机使用的测试工具
eMQTT-Bench
压力机参数优化情况
在 EMQX 中启用的功能
监听器启用了代理协议
测试场景
测试5万连接数
具体问题
开启send-proxy,并且在管理页面监听器里打开代理协议,在第一张图的位置卡住,过一会报错,不获取真实IP不会报错。
是的, emqtt-bench 并不支持 proxy 模式。而且用 proxy 模式前面是要有 nginx 负载均衡的。好像你的安装步骤里面也没有。
我使用haproxy做的负载,按照官网配置里加的,能够获取到真实IP, 就是压测的时候报错,你的意思是单独用nginx去做,还是两者一起?
抱歉,我理解错了,我原来以为你是想通过emqtt-bench 不经过负载均衡发 proxy 的包。
只要有负载均衡就可以,hayproxy 和 nginx 都是一样的效果,如果能得到真实 IP,那就是配置没问题了。
里面显示的 connack_timeout 说明是连接速率太快了,你调慢一点试试。
先设置一个小的连接速率,慢慢加调到一个他能承受的速率。