让Netty Linux 突破100万的连接量

作者:s_j_x

链接:https://www.jianshu.com/p/490e2981545c


实现单机的百万连接,瓶颈有以下几点:

1、如何模拟百万连接

2、突破局部文件句柄的限制

3、突破全局文件句柄的限制

在linux系统里面,单个进程打开的句柄数是非常有限的,一条TCP连接就对应一个文件句柄,而对于我们应用程序来说,一个服务端默认建立的连接数是有限制的。

下面通过优化要突破这个连接数。

优化

1、局部文件句柄限制

一个jvm进程最大能够打开的文件数.png

修改65535的这个限制

vi /etc/security/limits.conf

在文件末尾添加两行

*hard nofile 1000000

 soft nofile  1000000

soft和hard为两种限制方式,其中soft表示警告的限制,hard表示真正限制,nofile表示打开的最大文件数。整体表示任何用户一个进程能够打开1000000个文件。注意语句签名有

号 表示任何用户


shutdown -r now  重启linux

再次查看


已经修改生效了。

测试

最大连接数10万多.png

2、突破全局文件句柄的限制

cat /proc/sys/fs/file-max

file-max 表示在linux 中最终所有x线程能够打开的最大文件数

image.png

修改这个最大值:

sudo vi  /etc/sysctl.conf

在文件的末尾添加 fs.file-max=1000000

然后让文件生效 sudo sysctl -p

这个时候再查看一下全局最大文件句柄的数已经变成1000000了

测试

最大连接数36万多.png

注: 测试的服务器型号

image.png

cpu 相关配置

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容