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

Ухудшение производительности из-за нескольких IP-адресов на сетевой интерфейс

Как я могу измерить снижение производительности сетевого адаптера, настроенного с 2 IP-адресами на eth0?

Сетевая карта имеет 2 физических интерфейса (порта): eth0 и eth1 с включенным только eth0 и настроенным с двумя IP-адресами: один для хоста (Ubuntu 8.04) и один для виртуальной машины (режим моста VirtualBox 4.x).

Если я настрою второй IP-адрес на eth1 и настрою виртуальную машину на мост, это повлияет на это?

Если хочешь мера снижение производительности, вам потребуется создать соответствующую настройку клиент / сервер. и запускайте тесты передачи по своему вкусу.

Но дополнительные IP-адреса не повлияют на производительность. Использование ЦП может увеличиться, если у вас настроено более одного MAC-адреса или если интерфейс запущен в неразборчивом режиме (вероятно, если у вас есть настройка моста), поскольку хосту потребуется оценивать весь трафик, полученный на eth0, невозможность использовать фильтрацию сетевого адаптера для широковещательных рассылок и «собственный» MAC-адрес. Однако это влияние будет незначительным в правильно настроенной коммутируемой сети - коммутатор в основном будет пересылать на интерфейс только соответствующий трафик.

Просто настройте различные сценарии, а затем протестируйте с помощью таких инструментов, как netperf, iperf или даже простой FTP-перенос некоторых огромных файлов.

Основной ответ заключается в том, что вы можете иметь практически неограниченное количество IP-адресов на одном интерфейсе. Это не проблема.

Но виртуальный коммутатор может иметь некоторые накладные расходы. Однако это редко является проблемой, и поэтому в Интернете вы найдете очень мало информации об этом.

Я не использовал VirtualBox, но использую программный мостовой стек Linux во многих производственных гигабитных средах с OpenVZ без каких-либо проблем или вообще без потери производительности.

Если вам действительно нужна производительность, просто свяжите два интерфейса как пару LACP (802.3ad) ...

Используйте 2 физических порта, если у вас уже есть кабель, сетевой адаптер и порты коммутатора.

Коммутаторы имеют внутренние кэши, которые имеют фиксированное распределение на порт. Использовать два порта = вдвое больше доступного кеша. Некоторые сетевые карты имеют внутренние кэши (на порт, если сетевые карты с несколькими портами).

Некоторый широковещательный трафик может быть отфильтрован коммутатором, больше портов = потенциально меньше широковещательного трафика на порт.

Когда трафик достигает максимальной пропускной способности, повторные передачи коллизий увеличивают нагрузку, два порта = меньше трафика на порт = меньше потенциальных коллизий.

В большинстве конфигураций вы должны иметь возможность запускать 16 или более IP-адресов на одной сетевой карте без какой-либо заметной разницы. Если вы никогда не заполняете кэш коммутатора, не используете «шумные» протоколы широковещательной или многоадресной рассылки или не запускаете соединения с максимальной номинальной пропускной способностью 75%, вы не увидите ощутимой разницы, оправдывающей стоимость сетевой карты, порта коммутатора и дополнительных кабелей.

Лучшие причины для использования нескольких портов:

  1. безопасность / сегментация сети с использованием VLANS, сетевой адресации, маршрутизации и / или контроля доступа к источнику / получателю / протоколу на управляемом интеллектуальном коммутаторе.
  2. Отладка / захват и анализ протоколов, уменьшает беспорядок, требуется меньше фильтрации.

Обычно у нас есть от 8 до 12 слегка загруженных виртуальных клиентов, работающих на каждом сервере виртуализации разработки без проблем с сетью. (Один сетевой адаптер, виртуальные мосты, 8–12 IP-адресов на каждый сетевой адаптер).