RoCE网卡核心参数:带宽、PCIe接口、端口数与延迟

各位好,我是老张。今天咱们聊聊RoCE网卡选型时最绕不开的几个硬指标。说实话,我见过不少项目,方案写得天花乱坠,结果网卡参数没对上,上线就翻车。嗯,咱们一个一个来拆解。

一、带宽:从25G到400G,到底怎么选?

带宽是网卡最直观的参数。但很多人有个误区——以为带宽越大越好。其实不然。

25G:目前性价比最高的入门级。我个人习惯把25G叫做“甜点速率”。为什么?因为25G网卡的价格已经降到了千元级别,但性能比10G提升了2.5倍。如果你跑的是中小规模存储集群,或者AI训练的数据预处理阶段,25G完全够用。

50G:这个速率有点尴尬。它本质上是两个25G通道捆绑。我在项目中遇到过,50G网卡的延迟反而比25G高一点点,因为内部需要做负载均衡。除非你的交换机只支持50G端口,否则我建议直接跳过。

100G:这是目前数据中心的主流。100G网卡的技术非常成熟,PCIe Gen4 x16刚好能喂饱它。我记得去年帮一个客户做HPC集群,他们从100G升级到200G,结果发现应用性能只提升了30%——因为CPU成了瓶颈。所以,100G是当前最稳妥的选择。

200G:适合高密度计算场景。比如GPU集群的节点间通信。但要注意,200G网卡通常需要PCIe Gen5 x16才能跑满。如果你还在用Gen4主板,那200G网卡只能跑到160G左右,白白浪费。

400G:这是给超大规模数据中心准备的。说实话,普通企业用不上。400G网卡的功耗接近25W,散热是个大问题。我曾经帮一个客户调试400G网卡,结果因为机柜散热不够,网卡频繁降速。嗯,那叫一个头疼。

核心建议:选带宽时,先算算你的应用到底需要多少吞吐量。别盲目追高。25G够用就别上100G,省下的钱买更好的CPU不香吗?

二、PCIe接口:Gen3、Gen4、Gen5,别让总线成为瓶颈

很多人只看网卡带宽,不看PCIe接口。这是个大坑。你想想看,网卡再快,如果PCIe总线喂不饱,那不就是“小马拉大车”吗?

PCIe版本 x8带宽 x16带宽 适合网卡
Gen3 8 GB/s 16 GB/s 25G、50G
Gen4 16 GB/s 32 GB/s 100G、200G
Gen5 32 GB/s 64 GB/s 200G、400G

Gen3:老平台还在用。如果你只有Gen3插槽,那最多上到50G网卡。100G网卡插在Gen3 x16上,理论带宽只有16 GB/s,而100G网卡需要12.5 GB/s,勉强够用,但CPU和内存的额外开销会让你实际跑不到线速。

Gen4:目前最主流。100G网卡配Gen4 x16,带宽富余量很大。我个人习惯留30%的余量,这样即使有突发流量也不会丢包。

Gen5:最新一代。但说实话,现在Gen5的CPU和主板价格还很高。除非你上400G网卡,否则Gen4完全够用。我曾经帮一个客户测试200G网卡在Gen4和Gen5上的性能差异,结果只有5%的提升。为了这5%多花一倍的钱,值吗?你自己掂量。

避坑指南:我曾经见过有人把100G网卡插在Gen3 x8插槽上,结果带宽只有4 GB/s,连25G网卡都不如。所以,选网卡前一定要先看主板规格,确认PCIe插槽的版本和通道数。

三、端口数:单口、双口还是四口?

端口数直接影响你的网络拓扑设计。常见的RoCE网卡有单口、双口和四口三种。

  • 单口:最便宜,适合边缘节点或测试环境。但一旦端口故障,整个节点就断网了。我不建议在生产环境用单口网卡。
  • 双口:最推荐。可以做链路聚合,也可以做主备切换。我习惯把两个端口分别接到两台不同的交换机上,这样即使一台交换机挂了,业务也不中断。
  • 四口:适合高密度场景。比如一台服务器跑多个虚拟机,每个虚拟机独占一个端口。但要注意,四口网卡的功耗和发热都很大,散热不好的机箱慎用。

这里有个小技巧:双口网卡的两个端口,其实可以配置成不同的速率。比如一个端口跑100G连存储,另一个端口跑25G连管理网络。这样一张网卡干两件事,省钱又省槽位。

四、延迟指标:微秒级和纳秒级的差距

延迟是RoCE网卡的核心竞争力。普通TCP/IP网卡的延迟在几十微秒,而RoCE网卡可以做到1-3微秒。但不同型号的网卡,延迟差异也很大。

标准延迟:大多数RoCE网卡的延迟在1.5-3微秒。这个级别已经能满足90%的应用场景,比如分布式存储、数据库等。

低延迟:一些高端网卡(比如Mellanox ConnectX-6 Dx)可以做到0.8微秒以下。这类网卡通常用于高频交易、HPC等场景。我帮一个量化交易公司做过方案,他们要求延迟必须低于1微秒,最后选了ConnectX-6,配合DPU卸载,延迟降到了0.6微秒。

影响延迟的因素:除了网卡本身,PCIe延迟、CPU中断处理、内存访问延迟都会影响端到端延迟。我曾经遇到过一个问题:同样的网卡,在AMD EPYC平台上的延迟比Intel Xeon低了0.3微秒。后来发现是AMD的内存控制器延迟更低。所以,选网卡时也要考虑CPU平台。

个人经验:测试延迟时,别只看网卡厂商给的标称值。那个值是在理想环境下测的。实际部署时,线缆长度、交换机缓存、甚至网卡固件版本都会影响延迟。我建议拿到网卡后,先用perftest工具跑一下,看看实际延迟是多少。

五、知识体系总览

下面这张图是我自己整理的RoCE网卡核心参数决策逻辑。你可以把它当成选型时的检查清单。

RoCE网卡核心参数决策逻辑 RoCE网卡选型 带宽 PCIe接口 端口数 延迟指标 25G/50G/100G/200G/400G 按应用吞吐量需求选择 Gen3/Gen4/Gen5 确认主板插槽规格 单口/双口/四口 双口最推荐 标准/低延迟 实测为准 选型口诀 带宽看需求,PCIe看主板,端口看拓扑,延迟看实测

这张图的核心逻辑很简单:先确定你的应用需要多少带宽,然后检查主板支持什么PCIe版本,接着根据网络拓扑选端口数,最后用实测数据验证延迟是否达标。四个参数环环相扣,缺一不可。

好了,这一章的内容就到这里。记住,选网卡不是买白菜,参数对不上,后面全是坑。下一章咱们聊聊RoCE网卡的流控和拥塞控制,这可是保证网络不丢包的关键。


公众号:蓝海资料掘金营,微信deep3321