2019-12-25 16:16:39
335
0
jmqtt的代码基本摸清楚了,
调整了部分bug,增加了部分注释,修改些基础功能,集群基本功能应该没大问题了。
jetlinks搞了很久,只用mqtt的测试程序~,后面再借鉴下其他模块吧。
今天测试了下连接负载及nginx集群负载。
刚开始直接连接jmqtt测试10000连接,非常正常,速度也还可以,服务器上基本95%连接在10ms以内。
于是想到之前搞过的EMQTT集群,把这个java版本的jmqtt也弄下集群看下吧。
于是通过nginx配置了本机和服务器两个节点集群。
stream
{
upstream jmqqt_cluster {
server 192.168.100.126:31883;
server 192.168.100.41:21883;
}
server
{
listen 11883;
proxy_connect_timeout 1s;
proxy_pass jmqqt_cluster;
}
}
....
http
.....
结果在nginx上载了跟头,连接到几百就没法连接了。
create mqtt client: 300 ok
create mqtt client: 400 ok
create mqtt client: 500 ok
客户端test511连接失败(本地ip:/192.168.100.41:10512),ChannelClosedException:Channel is closed!
客户端test510连接失败(本地ip:/192.168.100.41:10511),ChannelClosedException:Channel is closed!
客户端test514连接失败(本地ip:/192.168.100.41:10515),ChannelClosedException:Channel is closed!
客户端test512连接失败(本地ip:/192.168.100.41:10513),ChannelClosedException:Channel is closed!
客户端test515连接失败(本地ip:/192.168.100.41:10516),ChannelClosedException:Channel is closed!
java.util.concurrent.ExecutionException: org.jetlinks.mqtt.client.ChannelClosedException: Channel is closed!
at io.netty.util.concurrent.DefaultPromise.get(DefaultPromise.java:372)
at org.jetlinks.simulator.mqtt.MQTTSimulator.lambda$4(MQTTSimulator.java:357)
搜索后发现时linux系统文件的最大连接数和nginx的连接限制。
处理如下:
1、linux系统最大文件打开数,
ulimit -n
1024
ubuntu系统默认最大文件句柄1024
如下修改
vim /etc/security/limits.conf
* soft noproc 65535
* hard noproc 65535
* soft nofile 65535
* hard nofile 65535
2、nginx.conf配置修改,两个配置都是必须的。
worker_rlimit_nofile 65535;
events {
worker_connections 65535;
}
nginx配置完成,最好kill掉,重写启动,这里搞了半天
继续jmqtt测试。
结果还行
create mqtt client: 19900 ok
create mqtt client: 20000 ok
max : 615ms
min : 31ms
avg : 83ms
> 5000ms : 0(0.00%)
> 2000ms : 0(0.00%)
> 1000ms : 0(0.00%)
> 500ms : 83(0.41%)
> 200ms : 244(1.22%)
> 100ms : 3499(17.50%)
> 10ms : 16171(80.86%)
2019-12-25 16:48:41
0
赞
赏
本文基于CC BY-NC-ND 4.0 许可协议发布,作者:野生的喵喵。 固定链接: 【nginx最大连接数,jmqtt优化】 转载请注明
相关文章:
发表新的评论
文章分类
文章归档
标签
deb ,
,
蓝屏 ,
select ,
html5 ,
tomcat ,
gcc ,
ajax ,
apt-get update ,
选择 ,
js加密 ,
java ,
工作 ,
ocr ,
AngularJs ,
感慨 ,
work ,
click ,
javascript ,
反向代理 ,
ip查询 ,
空间查询 ,
word ,
ECS服务器 ,
centos ,
杂 ,
StartupWMClass ,
前端 ,
js ,
vmdk ,
感概 ,
select2 ,
virtualbox ,
gg代理 ,
share ,
seo ,
风筝 ,
email ,
ASR ,
转换 ,
cool ,
activiti-ui ,
喵小凡 ,
@PropertySource ,
ckeiditor ,
网站攻击 ,
SRILM ,
风景 ,
plugin ,
vdi ,
扩容 ,
chorme ,
阿里云 ,
KALDI ,
num ,
packer2 ,
pic ,
gg镜像 ,
win8.1 ,
ecs ,
mysql ,
Ubuntu ,
快递查询 ,
nginx ,
ubuntu ,
swap ,
maven ,
entropy_avail ,
tencent ,
语音识别 ,
prerender ,
xfce4 ,
进度条 ,
存储过程 ,
activiti ,
熵 ,
日出 ,
练笔 ,
虞美人 ,
nodejs ,
词 ,
demo ,
jquery ,
random ,
linux ,
cat ,
bootstrapValidator ,
angularJs ,
live ,
on ,
gg ,
雪 ,
婚姻 ,
景色 ,
@Autowired ,
pdf ,
emqttd ,
优化 ,
thchs30 ,
opencv ,