EMQ压力测试及系统优化(单机11万并发连接)

   日期:2020-09-23     浏览:408    评论:0    
核心提示:本文档主要记录一下在EMQ压力测试中遇到的一些问题和猜想,如有错误还请指正…一、准备工作emqtt_bench压力测试工具安装部署参考官网:https://docs.emqx.net/broker/latest/cn/tutorial/benchmark.html二、压力测试EMQ部署完成之后,在没有任何优化的情况下,一开始做压力测试,并发连接始终维持在28000左右。后来部署集群(3台)之后,使用负载均衡,三台集群并发连接总和也是无法突破28000的并发连接。并发连接始终卡在28000,因此推

本文档主要记录一下在EMQ压力测试中遇到的一些问题和猜想,如有错误还请指正…

一、准备工作

emqtt_bench压力测试工具
安装部署参考官网:https://docs.emqx.net/broker/latest/cn/tutorial/benchmark.html

1)、首先安装依赖环境 Erlang/OTP 21.2:

## 安装erlang虚拟机
yum -y install ncurses-devel openssl-devel unixODBC-devel gcc-c++  
cd /opt
wget http://erlang.org/download/otp_src_21.2.tar.gz
tar -zxvf otp_src_21.2.tar.gz
cd otp_src_21.2
./configure --prefix=/usr/local/erlang --with-ssl -enable-threads -enable-smmp-support -enable-kernel-poll --enable-hipe --without-javac
make && make install

2)、配置环境变量

vim /etc/profile
 
# erlang
export ERLPATH=/usr/local/erlang
export PATH=$ERLPATH/bin:$PATH
 
source /etc/profile

3)、验证是否安装成功

[root@node03 emqtt_benchmark]# erl
Erlang/OTP 21 [erts-10.2] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1] [hipe]

Eshell V10.2  (abort with ^G)
1>

4)、安装emqtt_benchmark

yum -y install git
cd /opt
git clone https://github.com/emqtt/emqtt_benchmark.git
cd emqtt_benchmark
make

Git存在问题的请参考:
(1)、Git源码安装
(2)、unable to access ‘https://github.com/xxxx/xxxx’: SSL connect error

二、压力测试

EMQ部署完成之后,在没有任何优化的情况下,一开始做压力测试,并发连接始终维持在28000左右。后来部署集群(3台)之后,使用负载均衡,三台集群并发连接总和也是无法突破28000的并发连接。并发连接始终卡在28000,因此推测是某个地方的配置限制了,因此进行系统优化。

## 调整系统参数并且开始压测
sysctl -w net.ipv4.ip_local_port_range="1000 65535"
echo 1000000 > /proc/sys/fs/nr_open
ulimit -n 1000000
 
./emqtt_bench sub -h 192.168.72.141 -c 100000 -p 1883 -i 1 -t bench /%i -q 1

三、系统优化

系统优化整体仍是参考官网:https://docs.emqx.net/broker/latest/cn/tutorial/tune.html

调优之后,单机并发接入达到64505。
使用负载均衡测试3台集群,并发接入总和也是64505。

我们知道单台服务器最多开放6万多个端口号,在上述的系统优化配置设置了端口的范围

net.ipv4.ip_local_port_range='1000 65535'

因此端口号的个数为64535个,除去系统中的一些应用使用的端口(推测大概就是30个),所以优化后的并发接入始终无法突破64505。

因此要想继续进行压力测试,需要增加压力机。推测两台压力机测试单机并发会突破64505,至于具体能够达到多少,则是由emq broker的性能和优化程度决定。

未完待续…

增加:

四、增加压力机继续测试

以上猜想基本得到了验证,增加一台压力测试机。两台压力测试机,跑出了11万多的并发连接:

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服