Назад | Перейти на главную страницу

Один и тот же драйвер для нескольких сетевых карт - узкое место в производительности?

Я использую драйвер 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. Как вы измеряете скорость?