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

Привет.
Очень интересно стало, какими способами можно увеличить скорость между сервером и клиентами.
Одна из мыслей: если увеличить на сервере количество сетевых плат, можно увеличить пропускную способность (не изменяя сетевое окружение) и по мере загруженности, ответ на запрос приходит с более свободной платы.

Пример:
1 коммутатор (с 25 портами), 10 клиентов и 1 сервер.
В сервере 3 сетевые платы (подключенных к коммутатору), всё остальное (клиенты и другое) подключено к этому же коммутатору.
Сервер может общаться через все сетевые платы одновременно?

Реализация в локальной сети.
  • Вопрос задан
  • 3535 просмотров
Решения вопроса 2
Melkij
@Melkij
PostgreSQL DBA
Channel bonding, EtherChannel, link aggregation, LACP 802.3ad. Разные названия, а суть одна. Есть разные схемы работы, грабли и поддержка железом.
Лучше LACP, но его должен уметь коммутатор.
Ответ написан
Комментировать
@throughtheether
human after all
Очень интересно стало, какими способами можно увеличить скорость между сервером и клиентами.

Хотелось бы уточнить, какой у вас сервер и какие клиенты. Веб, игры, раздача файлов, стриминг видео?

В целом, суммарную скорость отдачи контента увеличить можно. Если есть три гигабитных интерфейса, то каждый из них можно задействовать и получить в сумме более гигабита в секунду исходящего трафика. При этом, чтобы отдать одному клиенту более гигабита в секунду, необходимо, чтобы клиент работал с несколькими tcp-сессиями или udp-потоками (т.н. flow) одновременно.

Вам советуют LACP и подобную агрегацию каналов, когда несколько интерфейсов объединяются в один логический. При использовании LACP вот это:
по мере загруженности, ответ на запрос приходит с более свободной платы.
реализовать не получится. LACP - это не балансировка, а разделение (по большому счету, статическое) нагрузки. Кроме того, при использовании трех интерфейсов вполне возможна (и даже нормальна) ситуация, когда утилизация одного из них вдвое превышает утилизацию остальных.

Если LACP вас не устроит, попробуйте режим balance-alb бондинга в Linux (см. статью).
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Если коммутатор умный и поддерживает агрегирование каналов, то можно.
Ответ написан
Комментировать
@Apolakov
Channel bonding - для Линукса. + коммутатор с поддержкой функции Link Aggregation или IEEE 802.3ad.
Ответ написан
Комментировать
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
Да, называется такое bonding.
Только стоит учитывать, что один клиент (если быть совсем уж точным - то одно соединение) за пределы возможностей одной сетевой карты не выйдет. Ну и стоит учитывать, что 4х10gbps карт не дадут производительность в 40 gbps, в реальности будет около 30-35.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы