使用netty程序出现:Too Many open files问题

本文介绍在使用Netty进行性能测试时遇到的TooManyOpenFiles问题及解决方案。在模拟大量设备并发连接第三方平台的场景下,通过调整NioEventLoopGroup线程数,有效降低系统句柄数,解决资源过度消耗的问题。

场景:
本地从kafka获取数据,模拟设备,通过808协议给第三方平台发送数据,一个设备一个连接。
问题:
使用netty做性能测试时,并发过大造成Too Many open files问题
每个设备对象,内部就一个netty对象请求,结果1000多个设备,使用服务器句柄达到了17w+,

解决如下: 最后通过修改bootstrap.group(new NioEventLoopGroup(1));然后句柄数据正常了。之前使用默认的new NioEventLoopGroup()

查看进程对应的句柄数

[root@xxxxx]# lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more|grep '36576'
   6619 36576

查看对应的连接

[root@xxxxx]# netstat -lnaop|grep 7008|wc -l
17

查看进程对应线程数
[root@xxxxx]# cat /proc/36576/status|grep 'Threads'
Threads:    4323

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值