您的位置:首页 > 运维架构 > Linux

Centos 6.5下 mosquitto 阿里云单机压力测试

2017-04-11 20:36 471 查看
上篇文章 MQTT之centos6.5 下编译Mosquitto 我们让 mosquitto 正常运行,那么单机环境下mosquitto 能承载多少长连接呢?为此需要靠压力测试说话,用什么进行压力测试呢?

经过寻找,找到了一个测试工具 https://github.com/emqtt/emqtt_benchmark, 此工具是用erlang 编写的,但不影响测试

测试环境:

broker:  阿里云centos6.5, 双核, 4G 内存

client: 3台阿里云双核, 4G 内存

1. 首先进行linux 内核参数调优

参考地址:http://emqtt.com/docs/v2/tune.html



2. 用emqtt_benchmark 进行压力测试

首先需要安装erlang 环境,然后才能进行

./emqtt_bench_sub -h  serverip -c 25000 -t test -k 1800 -i 10 

上面这句执行语句表示创建25000个连接,keepalive 时间为1800 秒, 连接的间隔时间为10秒, 订阅主题为test, 我们同时在3台机器上执行,也就是75000个长连接,看执行情况









当创建完75000个连接,A, B,C 机器出现大面积的shutdown 情况, 而broker 则出现 大面积的socket error 情况

看来这种条件下不足与支撑75000个连接, 需要修改连接数改为17000, 也就是同时5100个连接
emqtt_bench_sub -h  serverip -c 17000 -t test -k 1800 -i 10 







broker 同时打开51002 个socket 句柄



也就是阿里云单机环境下只能支撑5000个长连接,显然不要说单机百万连接,连10万连接的目标都达不到,这是什么原因呢?阿里云主机的原因,还是mosquitto的原因,如果是mosquitto 的原因,在同样的单机环境下选用emt ,连接数甚至还达不到5W。看来还需要更深入的测试研究才能找出原因。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: