net.core 调优指南

以下是针对 高并发 Web 服务(如 Nginx、ASP.NET Core、Redis 等)net.core 相关内核参数推荐配置,以 列表形式 呈现,包含参数名、推荐值、作用说明和调优理由:


net.core 推荐调优配置清单

参数名 推荐值 作用说明 调优理由
net.core.somaxconn 65535 全连接队列(accept queue)最大长度 默认值(128 或 4096)在高并发下易丢连接;设为 65535 可支持大量并发请求
net.core.netdev_max_backlog 30000 网卡接收队列最大缓存包数 防止突发流量导致内核来不及处理而丢包(尤其在 10Gbps+ 网络)
net.core.rmem_default 16777216(16MB) TCP socket 默认接收缓冲区大小 提升高带宽或高延迟网络下的吞吐能力
net.core.rmem_max 16777216(16MB) TCP socket 最大接收缓冲区上限 配合 rmem_default,允许应用使用更大接收窗口
net.core.wmem_default 16777216(16MB) TCP socket 默认发送缓冲区大小 支持大块数据高效发送,减少阻塞
net.core.wmem_max 16777216(16MB) TCP socket 最大发送缓冲区上限 wmem_default 一致,避免发送瓶颈
net.core.optmem_max 65536 socket 选项(如时间戳、TOS)最大内存 一般无需调高,但高并发下可适当增加以防异常
net.core.busy_poll 0(默认) 或 50(低延迟场景) 启用轮询模式减少中断延迟 仅在对延迟极度敏感(如金融交易)时启用,否则保持 0 以节省 CPU
net.core.busy_read 0(默认) 或 50(低延迟场景) 读操作轮询等待时间(微秒) 同上,按需启用
net.core.message_cost / message_burst 保持默认 用于 netlink 消息限流 通常无需调整,除非使用大量 netlink 通信

📝 补充建议

  • 持久化配置 :将上述参数写入 /etc/sysctl.d/99-net-tune.conf

    复制代码

    conf

    编辑

    复制代码
    1net.core.somaxconn = 65535
    2net.core.netdev_max_backlog = 30000
    3net.core.rmem_default = 16777216
    4net.core.rmem_max = 16777216
    5net.core.wmem_default = 16777216
    6net.core.wmem_max = 16777216
    7net.core.optmem_max = 65536
    8# net.core.busy_poll = 50    # 按需取消注释
    9# net.core.busy_read = 50    # 按需取消注释

    执行 sysctl --system 生效。

  • 配套调优 (非 net.core 但密切相关):

    • fs.file-max = 2097152
    • net.ipv4.tcp_max_syn_backlog = 8192
    • net.ipv4.ip_local_port_range = 1024 65535
    • 应用层:Nginx 的 listen ... backlog=65535;
  • 验证命令

    复制代码

    bash

    编辑

    复制代码
    1sysctl net.core.somaxconn net.core.netdev_max_backlog
    2ss -lnt          # 查看 Recv-Q 是否接近 somaxconn
    3cat /proc/net/dev  # 观察 dropped 包是否减少

💡 注意:若服务器内存 < 8GB,可适当降低缓冲区(如 8MB);若为容器环境(如 Docker/K8s),需确认宿主机已调优且容器有权限继承 sysctl 设置。


此配置适用于 现代 Linux 服务器(Kernel ≥ 4.15),已在生产环境广泛验证。

相关推荐
BingoGo5 小时前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack5 小时前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack1 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo1 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack2 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理3 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
feifeigo1233 天前
matlab画图工具
开发语言·matlab
dustcell.3 天前
haproxy七层代理
java·开发语言·前端
norlan_jame3 天前
C-PHY与D-PHY差异
c语言·开发语言
多恩Stone3 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc