使用两个英特尔 NIC 10G 端口时传输速率会降低

使用两个英特尔 NIC 10G 端口时传输速率会降低

我在运行 RHEL6 的服务器上使用 Intel 82599EB 10G NIC。我运行了一个程序,其中数据包以高速率生成。NIC 之前安装在另一台 PC 上,我能够同时在每个端口上生成 8-9Gbps 的流量。在这台服务器上,只有当一个端口正在使用时,我才能以 8-9Gbps 的速度生成流量。如果我同时在两个端口上生成流量,那么我的总传输速率会下降到大约 12Gbps(每个端口大约 6Gbps)。

我的相关“lspci -vvv”输出显示以下内容:

0b:00.0 Ethernet controller: ...
      Capabilities: [a0] Express (v2) Endpoint, MSI 00
            LnkCap: Port #1, Speed 5GT/s, Width x8
            LnkSta: Speed 5GT/s, Width x4
            LnkCtl2: Target Link Speed: 5GT/s

0b:00.1 Ethernet controller: ...
      Capabilities: [a0] Express (v2) Endpoint, MSI 00
            LnkCap: Port #1, Speed 5GT/s, Width x8
            LnkSta: Speed 5GT/s, Width x4
            LnkCtl2: Target Link Speed: 2.5GT/s

我的传输速率是否受到 LnkSta 中两个端口的“x4”限制?一个端口上的“目标链接速度:5GT/s”和另一个端口上的“目标链接速度:2.5GT/s”是什么意思?这也会导致速率降低吗?

另外,我看到几个 PCIE 插槽比我的 NIC 的 PCIE 连接器长。我可以将 NIC 安装在这些较长的插槽上吗?

答案1

另外,我看到几个 PCIE 插槽比我的 NIC 的 PCIE 连接器长。我可以将 NIC 安装在这些较长的插槽上吗?

大部分情况下是的。例如:理论上是的,但实际上不确定 - 糟糕的 BIOS 可能会破坏这一点。例如,过去带有 RAI 卡的图形端口(ncice pCIEx16)可能会由于 BIOS 处理不佳而导致启动失败...虽然那是几年前的事了,但现在不应该再发生这样的问题了。我经常这样做,从图形插槽运行 RAID 控制器并在服务器场景中使用板载显卡。

尝试看看这里唯一的解决方案是什么 - PCIe 兼容,可以将较小的连接器放入标准中的较大插槽中。较大的连接器甚至不必连接所有引脚 - 您可以在 PCIex16 连接器上安装 PCIex1 链接,优势很明显,所有卡都适合但只能与 PCIEx1 一起使用...我这里有一些转换器,可以在 PCIEx1 插槽上运行显卡以进行数字运算。

我的传输速率是否受到两个端口的 LnkSta 中的“x4”限制?

那么,端口的物理限制显然限制了线路的速度,对吧?是的,这是物理限制 - 无法通过编程解决。

一个端口上的目标链接速度为“5GT/s”,另一个端口上的目标链接速度为“2.5GT/s”,这是什么意思?这也会导致速率降低吗?

其他人必须回答什么,但我在谷歌中找到了这一点:

http://www.xilinx.com/support/answers/37497.htm

如果正如我所读到的,那就是配置的上限 - 所以是的,那应该是一个原因,但问题是为什么,所以它可能是其他东西的症状。

相关内容