拿一台标称万兆的服务器,你实际能跑到的吞吐通常只有线速的七到八成,小包场景甚至只有两到三成,选型时真正要评估的不是端口速率,而是包转发能力、PCIe链路、中断亲和性和业务转发路径。
万兆口可用吞吐:别只看端口速率
采购服务器时,参数表上写着10Gbps,大家容易默认这台机器就能跑满10G,其实这个数字只是端口物理层速率,和业务实际能用的吞吐量是两回事。
行业共识认为,一台普通x86服务器在典型混合流量下,万兆口的可用吞吐大致在6Gbps到8Gbps之间,为什么不是10G?因为数据要从网卡进内存,经CPU处理后再出网卡,中间每一步都有损耗。
最基本的影响因素是帧大小,万兆网卡的线速是按最小帧计算的:
| 帧长 | 线速PPS | 实际可用带宽 |
|---|---|---|
| 64字节 | 88Mpps | 约1.44Gbps(纯数据) |
| 256字节 | 46Mpps | 约10.5Gbps |
| 1518字节 | 812,743pps | 约9.87Gbps |
也就是说,如果业务是小包居多,先把期望值调低。
吞吐被什么吃掉:四个瓶颈要心里有数
小包PPS考验的是CPU,不是带宽
64字节小包每秒产生1488万个包,每个包CPU都要做一次收包、路由判断、发包,按当前主流服务器CPU主频2.0到3.5GHz估算,单核跑满也就处理1.5M到2.5Mpps,要处理万兆小包线速,需要6到10个专用核心,这还没算业务逻辑。
所以评估对象是:你的业务混合包大小下,要求多少PPS?机器有几个核能用来转发?
举个例子,处理4Mpps的小包流量,用82599这类网卡开4队列绑定4个核,CPU占用大概会到60%到80%,如果还要跑数据库或应用,CPU资源根本不够分。
PCIe链路与DMA:带宽黑洞
万兆网卡走PCIe 3.0 x8或PCIe 4.0 x4就能满足基本带宽,但问题往往出在

DMA中断和内存带宽竞争上,多核NUMA架构下,如果网卡插在Node 0的PCIe槽,而内存分配在Node 1,跨NUMA访问会让吞吐掉两到三成。
选型下单时,明确写清楚网卡插槽位置与CPU的对应关系,让厂家确认支持NUMA绑定。
中断绑定与RSS队列
网卡多队列功能(RSS)是吞吐的胜负手,单队列网卡,万兆跑到3Gbps就会把单核打满,多队列配合RSS中断绑定才能把负载分散到多个核,长话短说:关闭irqbalance,手动将网卡队列中断绑到不同物理核,这是第一步优化。
转发路径:NAT和防火墙吃掉多少
Linux内核做纯路由转发,IPv4转发性能还不错,但开了iptables、NAT或conntrack,性能会明显下降,用iptables做DNAT,吞吐可能从8Gbps掉到2Gbps,建议选型前先确认系统里有没有conntrack、防火墙、流量镜像这类负载,这些能力都要算进成本。
成都万兆服务器选型实操流程
第一步:把业务流量特征写清楚
采购前,把这三项写清楚给供应商,让选型有依据:
- 平均包长与PPS峰值(业务例如视频流平均包长在900字节以上;游戏或金融交易通常小包居多)
- 并发连接数和新建连接速率
- 转发类型:纯三层路由、NAT、还是四层负载均衡
这套参数同时决定了CPU型号和内存大小,让厂商按你的PPS目标而不是带宽目标来推荐配置。
第二步:跑透测试,验证真实转发能力
新机器到手,先用iperf3验证TCP全双工吞吐,测法是服务器端开两个iperf3实例,客户端用-P 4到-P 8并发拉流,双方都要做,单方向测出来的数字不完整。
看几个关键指标:
- 双向总吞吐是否达到7Gbps以上
- CPU软中断占比:如果单核si%持续超过80%,说明中断没散开
-

重传率
:用netstat -s看重传字段,重传率过了0.1%说明网卡或内核参数需要调
第三步:模拟真环境,加规则再测
先裸测,再按实际配置加上安全组规则、NAT策略,对比前后数据,明文写出评估依据:
- 清空iptables后跑一次iperf3,记下基准
- 加上你的实际防火墙规则后跑第二次,两次差额就是规则成本
- 再用
sar -n DEV 1观察PPS,确认实际负载模型
这样才能拿到“可用吞吐”的真实值,而不是硬件极限值。
下表是某一次实测对比,可看出规则对性能的影响:
| 场景 | 单向吞吐 | 双向吞吐 | CPU占用 |
|---|---|---|---|
| 裸路由转发 | 2Gbps | 8Gbps | 45% |
| 开启iptables NAT+conntrack | 1Gbps | 3Gbps | 72% |
| 增加2000条规则后 | 8Gbps | 2Gbps | 88% |
成都本地IDC场景的特殊取舍
成都的IDC机房多走电信和联通骨干网,进出方向的流量特征差异大,服务器在成都IDC上架后,内网测速达标不代表公网体验好,跨网互访的实际吞吐会受运营商互联带宽限制,这个因素在选型时也要纳入评估范围。
本地租用或托管时,向机房明确以下几个问题:
- 万兆口是否独享?共享的话PPS上限多少
- 接入交换机端口是否支持巨型帧(MTU 9000)内网大包场景可以省CPU
- 机房出口带宽与BGP线路成本,万兆服务器正常用途是内网互联或大规模出口,不是宽带小水管
据成都本地IDC从业者的共识,不少企业租了万兆服务器,实际跑业务根本没有万兆压力,瓶颈常在业务软件代码上而非硬件,先压测应用层接口的QPS和延迟,再决定要不要上到万兆硬件,这个顺序不能反。
选型参数确认清单

按以下列表逐条确认,能有效避开常见坑:
- 网卡型号:Intel X710/82599或Mellanox CX系列,支持多队列;不推荐板载单队列网卡
- CPU核心数:按PPS倒推,预留30%余量给业务
- 中断绑定:确认BIOS中SR-IOV、VT-d已开启,支持RSS队列到核心的映射
- 内存通道:不低于4通道DDR4/DDR5,内存带宽不够会让吞吐上不去
- 硬盘:日志和报文捕获的盘要独立;写盘速度跟不上会拖垮转发进程
万兆口服务器选型常见疑问
万兆网卡实际吞吐能达到多少?
取决于包长和CPU资源,64字节小包能跑到线速的机器,需要专门DPDK或专用转发硬件,普通内核协议栈不现实;1518字节大包下,多队列绑定合理基本接近线速,通用的评估基准是:单方向不低于7Gbps,双向不低于12Gbps。
成都机房的万兆服务器租用价格高低和可用吞吐有关系吗?
没有直接关系,租用价格主要包含硬件配置、带宽和机柜电力成本,吞吐瓶颈更多由部署调优决定,同一台机器,内核参数和中断绑定做好,吞吐可能差两到三倍,租用前让服务商提供同配置的实测可转发PPS数据,比看报价更有参考价值。
如何判断当前机器是否需要升级到万兆口?
观察/proc/net/dev里实际跑到的峰值带宽,连续一周超过3Gbps,或者出现频繁的丢包和软中断饱和,再考虑升级万兆,带宽没到3Gbps之前,优化代码和网络拓扑的性价比远高于换硬件,升级前拿压测工具验证业务能撑到万兆流量,避免硬件换了业务照样跑不满。
选型时始终记住:10Gbps端口速率只是起点,真正可用吞吐由CPU核数、网卡队列、PCIe链路与转发路径共同决定,按本文流程跑一遍压测,拿到数字后再付款下单,能少走不少弯路。