我是否应该为我的 NIC 启用 9000 字节的巨型帧大小?

我是否应该为我的 NIC 启用 9000 字节的巨型帧大小?

如果我运行的是千兆网络,我是否应该为网卡启用 9000 字节的巨型帧大小?这会提高性能吗?

对于这种情况:在千兆网络上,PC到路由器到PC。

答案1

情况是这样的:如果一切如果您的网络支持巨型帧,那么请务必启用它并进行测试。如果您的网卡合理,并且布线没有严重问题,您可能会看到性能提升。提升多少?这取决于很多因素:有多少台计算机、您的交换机有多好/多快、网络流量模式等。但通常不会超过10% 百分比在典型的家庭网络或小型办公网络环境中。

以下是一些测试结果博车网

巨型帧测试结果

警告

如果你的网络上至少有一台设备不是支持巨型帧(网络打印机、SIP 电话等),那么您根本无法使用巨型帧。否则您将无法与该设备通信。

答案2

我已经测试了 1G 和 10G。1500 字节数据包可让您实现 1G 的近 100% 利用率(100MBytes/s)。在 10G 硬件上,使用 1500 字节数据包,您会看到 1G 速度。如果增加到最大值(9600 字节),您将获得 450MBytes/s(当然,您需要在两端使用条带化 SSD 才能实现此目的)。

硬件:Dell Precision 工作站 T3500、T5500、Mellannox 卡、SFP+ 铜直连 10G 电缆,一端运行 Windows 10,另一端运行 Windows Server 2012。

答案3

这是错误的——你可以拥有一个不支持巨型帧的设备,它也能像我一样工作——我家里有千兆网络和网络打印机,一切都运行正常——交换机只需将巨型帧切分成 100M 网络打印机能够接受的块即可。作者显然是根据自己的经历讲述这个故事的。

答案4

巨型帧经常被忽视的用途是减少制作和重组数据包的 CPU 开销。这种好处在不同的机器之间会有很大差异,带有高级任务卸载网卡的服务器对发送方没有任何好处,对接收方可能只有 15% 的好处。但是,具有简单网络接口的低成本系统会让 CPU 完成所有工作,有人报告称,巨型数据包会使 CPU 负载发生 3:! 的变化。

我没有办法在当前网络上测试 Jumbo,但我发现我的消费级台式机和笔记本电脑上的标准 1500B 帧需要大约 1Ghz 的 1 个 CPU 核心才能使 1Gb 连接饱和。(因此,一个核心在 3.4Ghz CPU 下以 30% 运行,在 2.0Ghz [笔记本电脑] CPU 下以 50% 运行,它基本上可以完全运行我旧的 1Ghz NAS。)

据报道,Jumbo 还可以减少路由器、交换机和防火墙数据包检查和端口转发的处理负荷。

CPU 负载可能很重要的一个地方是集群情况下,其中 CPU 上的网络负载直接切入计算资源。(当建立计算集群的全部目的是获得净收益时,这是有用的工作。)换句话说,用于接收另一个集群节点上计算的结果的计算能力几乎与直接在本地计算结果的 CPU 负载一样多,这非常合理,这使得交易毫无意义,但巨型帧可以将这种情况从收支平衡改变为 3:1 的杠杆。这是一个非常狭隘的例子,但我想不出一个会受到实质性影响的普通桌面使用,因为大多数个人电脑每分钟都有大量空闲的 CPU 和网络时间。(与连续几天将系统加载到 100% 的计算相反,因此即使 5% 也可以节省几个小时 [和电力]。)

相关内容