我正在为多个 Intel 网卡(Intel EXPI9402PT,基于 82571EB 芯片)使用驱动程序 e1000e。问题是,当我尝试在多个接口上使用最大速度(1GB)时,每个接口的速度开始下降。
对于一个接口我得到:120435948 字节/秒。
对于两个接口,我得到:61080233 字节/秒和 60515294 字节/秒。
对于三个接口,我得到:28564020 字节/秒、27111184 字节/秒、27118907 字节/秒。
这可能是什么原因?
编辑:/proc/interrupts 内容:
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
106: 17138 0 0 0 0 0 0 0 PCI-MSI eth0
114: 51 0 0 0 102193 0 20 23745467 PCI-MSI eth2
122: 51 290 15 271 0 9253 100 0 PCI-MSI eth3
130: 43 367 0 290 105 39 15 0 PCI-MSI eth4
138: 43 361 105 210 0 140 0 0 PCI-MSI eth5
146: 56 67625 100 0 0 17855245 0 0 PCI-MSI eth6
答案1
这不会是司机。
它很可能是一个物理共享组件,例如中断或 PCI 总线。
答案2
它们是否共享同一个中断 (IRQ)?这可能是您的瓶颈。
答案3
您的 iperf 测试的终点是什么?如果您通过网络硬件进行路由或将所有输出合并到另一台机器上的单个 GBe NIC,则您的瓶颈可能在远程。
答案4
我发布了一些 sysctl magic这里。你可以试试,看看是否有帮助
PS. 你如何对速度进行基准测试?