Я использую драйвер e1000e для нескольких сетевых карт Intel (Intel EXPI9402PT, на базе чипа 82571EB). Проблема в том, что когда я пытаюсь использовать максимальную скорость (1 ГБ) более чем для одного интерфейса, скорость на каждом интерфейсе начинает падать.
Для одного интерфейса я получаю: 120435948 байт / сек.
Для двух интерфейсов я получаю: 61080233 байта / сек и 60515294 байта / сек.
Для трех интерфейсов я получаю: 28564020 байт / сек, 27111184 байт / сек, 27118907 байт / сек.
Что может быть причиной?
РЕДАКТИРОВАТЬ: / proc / interrupts content:
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
Это будет не водитель.
Скорее всего, это будет физически совместно используемый компонент, например прерывания или шина PCI.
Какова конечная точка вашего теста iperf? Если вы выполняете маршрутизацию через сетевое оборудование или объединяете весь вывод на одну сетевую карту GBe на другой машине, узкое место может быть удаленным.
Они используют одно и то же прерывание (IRQ)? Вероятно, это ваше узкое место.
Я опубликовал магию sysctl Вот. Вы можете попробовать, посмотрите, поможет ли
PS. Как вы измеряете скорость?