• Linux系统下一些配置建议整理


     

    1. 【推荐】高并发服务器建议调小 TCP 协议的 time_wait 超时时间。

    说明:操作系统默认 240 秒后,才会关闭处于 time_wait 状态的连接,在高并发访问下,服

    务器端会因为处于 time_wait 的连接数太多,可能无法建立新的连接,所以需要在服务器上

    调小此等待值。

    正例:在 linux 服务器上请通过变更/etc/sysctl.conf 文件去修改该缺省值 ( 秒 ) :

    net.ipv4.tcp_fin_timeout = 30

    2. 【推荐】调大服务器所支持的最大文件句柄数 (File Descriptor ,简写为 fd) 。

    说明:主流操作系统的设计是将 TCP / UDP 连接采用与文件一样的方式去管理,即一个连接对

    应于一个 fd 。主流的 linux 服务器默认所支持最大 fd 数量为 1024,当并发连接数很大时很

    阿里巴巴 Java 开发手册

    34/38

    容易因为 fd 不足而出现“ open too many files ”错误,导致新的连接无法建立。 建议将 linux

    服务器所支持的最大句柄数调高数倍 ( 与服务器的内存数量相关 ) 。

    3. 【推荐】给 JVM 环境参数设置-XX :+ HeapDumpOnOutOfMemoryError 参数,让 JVM 碰到 OOM 场

    景时输出 dump 信息。

    说明: OOM 的发生是有概率的,甚至相隔数月才出现一例,出错时的堆内信息对解决问题非常

    有帮助。

    4. 【推荐】在线上生产环境, JVM 的 Xms 和 Xmx 设置一样大小的内存容量,避免在 GC 后调整堆

    大小带来的压力。

    5. 【参考】服务器内部重定向使用 forward; 外部重定向地址使用 URL 拼装工具类来生成,否则

    会带来 URL 维护不一致的问题和潜在的安全风险。

  • 相关阅读:
    如何理解Linux字符设备驱动?
    Java内存区域速览
    Docker搭建DNS服务器--nouse
    git commit (git revision) 表达大全
    SpringMVC常用注解
    C++中的cout.setf(ios::fixed)是什么意思?
    python数据库连接池的正确用法
    shell脚本获取文件中的版权(Copyright)
    QGIS提取两条线元素的交点
    js-函数式编程-monad-chain-mcompose-自动解嵌套
  • 原文地址:https://blog.csdn.net/zy08403/article/details/134251887