emqtt_benchmark压测emqx集群(六)

前言:前面分别对单台emqx进行了压测,并且从压测结果来看,可以看出单台的能力已经很强,只要资源给够的情况下,应该是能达到官方说的百万连接。但我也说过,单节点是没有容灾能力的,所以现在来测集群。


我三个emqx服务分别跑在1核4G内存的虚拟机上,并在128虚拟机上部署了nginx做负载均衡。

我的代理端口是18084,先在一台机器上执行,跑30000完的连接。

./emqtt_bench_sub -h 192.168.1.128 -p18084 -c 30000 -i 1 -t bench /%i -q 1
emqtt_benchmark压测emqx集群(六)_第1张图片 能看到均匀的分布到了三个服务上

再在三台机器上执行,一共跑90000万连接

emqtt_benchmark压测emqx集群(六)_第2张图片 发现出了问题。。正常应该每台负载30000连接才对

再看三台机器

136:

emqtt_benchmark压测emqx集群(六)_第3张图片 正常

135:

emqtt_benchmark压测emqx集群(六)_第4张图片 正常

128:

emqtt_benchmark压测emqx集群(六)_第5张图片 失败在这台机器上

思考:我跑了三次都是这个情况,为啥呢?就128失败,可能是我这里128服务器又做压力机又做nginx代理,连得全是128的nginx,nginx代理也需要占用端口。

shutdown,eaddrnotavail:说的是无法分配端口,也就是128这台机器无法再创建更多的连接了。

按照每台25000左右的连接数算,128只创造15000的连接数,135,136还是30000不变,这样应该就都能分配了。

emqtt_benchmark压测emqx集群(六)_第6张图片 结果如预期

 

你可能感兴趣的:(mqtt)