如何让Linux服务器下基于Netty的应用程序支持几十万乃至百万长连接

服务器使用流行的Linux操作系统,若要在此服务器下单机支持超大规模的长连接,方法如下:

    1. 用户进程级别:

修改每个进程可打开的文件数,缺省值是 1024。

ulimit -n 1000000   

若要同时修改软硬限制,可以使用:

ulimit -SHn 1000000

备注:

ulimit 命令分软限制和硬限制,加-H就是硬限制,加-S就是软限制。默认显示的是软限制,如果运行ulimit 命令修改时没有加上-H或-S,就是两个参数一起改变。硬限制就是实际的限制,而软限制是警告限制,它只会给出警告。

以上为临时生效。

若要永久改变每个进程可以打开的最大文件数,可以修改文件:

/etc/security/limits.conf 

    2. 操作系统级别:

修改操作系统级别能打开的最大文件个数,方法如下:

echo 1000000 > /proc/sys/fs/file-max

此为临时生效。若需永久生效,可以如下:

修改/etc/sysctl.conf

    3. 将socket的接收与发送缓冲区变小。


微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是程序员小迷(致力于C、C++、Java、Kotlin、Android、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

欢迎关注。助您在编程路上越走越好!

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-24 19:40:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-24 19:40:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-24 19:40:01       82 阅读
  4. Python语言-面向对象

    2024-04-24 19:40:01       91 阅读

热门阅读

  1. 京东商品详情API:电商创新的利器

    2024-04-24 19:40:01       32 阅读
  2. L2-3 满树的遍历

    2024-04-24 19:40:01       36 阅读
  3. 2024年货运从业资格考试题库及答案

    2024-04-24 19:40:01       37 阅读
  4. PHP中的会话管理是如何工作的?

    2024-04-24 19:40:01       25 阅读
  5. 如何防止SQL注入攻击?

    2024-04-24 19:40:01       30 阅读
  6. 2024年最重要的AI趋势

    2024-04-24 19:40:01       29 阅读
  7. 【Linux】解决切换用户出现bash-4.2$问题

    2024-04-24 19:40:01       28 阅读
  8. 网络安全之数据库基础篇(基础入门)

    2024-04-24 19:40:01       32 阅读
  9. js 制作qq、微信 的表情

    2024-04-24 19:40:01       29 阅读