所有系统运行正常

支持比特币、门罗币、USDT、以太坊或 Solana 付款 · 仅需邮箱注册

网络

Linux 10 Gbps 网络调优

BBR、套接字缓冲区、网卡队列,以及切合实际的 10 Gbps 端口测试方法。

阅读约 6 分钟审核于 2026年9月25日

一块带光纤收发器和调节滑块的 10 Gbps 网卡

内核参数

net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
$ sysctl --system

对远距离客户端而言,更大的缓冲区至关重要:单条 TCP 流的吞吐量上限等于其窗口大小除以往返时间。

网卡

$ ethtool -g eno1          # ring buffer sizes
$ ethtool -G eno1 rx 4096 tx 4096
$ ethtool -k eno1 | grep -E 'segmentation|receive-offload'

保持卸载功能(TSO、GRO)开启,并让 irqbalance 将中断分散到各个 CPU 核心。互联网上的 MTU 为 1,500 字节:巨型帧只在私有 VLAN 内才有用。

应用层面

  • nginx:启用 sendfile on; tcp_nopush on;,并设置足够的 worker_processes 以利用多个核心。
  • 热点文件请从内存或 NVMe 提供;单靠机械硬盘无法跑满 10 Gbps。

测试

在公网上,单个连接很少能跑满 10 Gbps 端口。请使用多条并行流,对一个距离近、网络连接良好的端点进行测试:

$ iperf3 -c <test-server> -P 8 -t 30
网络

更多网络指南

全部 5 篇指南