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

Связь сетевых адаптеров с Linux для повышения производительности

Я пытаюсь связать два сетевых устройства вместе, чтобы повысить производительность. У меня два сетевых адаптера Intel со скоростью 1000 Мбит / с. Когда у меня был один ник, я проводил несколько тестов со скоростью 106 МБ / с. Это довольно близко к 1 Гбит / с. Так что я доволен этим. Когда я добавляю второй nic и связываю его вместе с Mode 0 (balance-rr), я все еще вижу те же 106 МБ / с.

Моя установка: Сервер ====== Переключатель ===== Хранение

И к хранилищу, и к серверу подключено два сетевых адаптера. Я знаю, что это не хранилище, потому что я могу запустить два теста одновременно и получить 2 Гбит / с через put.

Я почти уверен, что эта установка использует только один ник. Есть ли способ настроить все для повышения производительности?

Я думаю, вы можете предположить, что связывание может сделать больше, чем это действительно возможно. Одно соединение между двумя хостами практически никогда не сможет использовать больше, чем емкость одного интерфейса. Агрегация полезна, когда у вас много параллельных соединений от многих хостов. Проверьте описание режима 0.

Политика циклического перебора: передача пакетов в последовательном порядке от первого доступного ведомого устройства до последнего. Этот режим обеспечивает балансировку нагрузки и отказоустойчивость.

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

Вероятно, здесь происходит то, что пока отправитель балансирует между двумя сетевыми адаптерами, коммутатор отправляет все пакеты по одному порту к получателю, потому что только один из принимающих сетевых адаптеров является ARPing (или ваш коммутатор записывает MAC только для одного порта. ). Вы можете проверить это, посмотрев статистику порта.

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