Объединение сетевых карт Windows Server: действительно ли это повышает производительность?

Опубликовано: 17 Марта, 2023
Объединение сетевых карт Windows Server: действительно ли это повышает производительность?

Я использую функцию объединения сетевых карт Windows Server в своих лабораторных и производственных средах с момента выпуска Windows Server 2012. Я всегда предполагал, что объединение сетевых карт повысит производительность моих серверов, хотя, по общему признанию, я никогда не тратил время на это. любые эталонные сравнения. Однако в последнее время я начал замечать, что объединение сетевых карт, возможно, не делает того, что, как я всегда думал, делает. Позволь мне объяснить.

Что такое объединение сетевых карт Windows Server?

Для тех, кто может быть не знаком с объединением сетевых карт Windows Server, это механизм, который позволяет связать несколько физических сетевых карт в одну логическую сетевую карту. Таким образом, эта логическая сетевая карта обладает возможностями всего базового физического оборудования.

Конечный результат вы можете увидеть на рисунке ниже. На этом рисунке показано административное окно PowerShell на лабораторном сервере под управлением Windows Server 2012 R2. Как видите, я использовал командлет Get-NetAdapter для получения списка всех сетевых адаптеров, установленных на сервере.

Изображение 4480
Командлет, использованный на рисунке выше, отображает пять разных сетевых адаптеров. Первый в списке (vEthernet) — виртуальный Ethernet-адаптер Hyper-V со скоростью соединения 10 Гбит/с. На самом деле у меня не установлено какое-либо оборудование 10 Гбит/с, но это не имеет значения, потому что этот сетевой адаптер чисто виртуальный.

Следующие три сетевых адаптера в списке являются физическими сетевыми адаптерами, каждый из которых работает со скоростью 1 Гбит/с. Последний сетевой адаптер в списке называется MyTeam. Это группа сетевых адаптеров, состоящая из трех физических сетевых адаптеров, перечисленных командлетом. Как упоминалось ранее, эти три сетевых адаптера работают со скоростью 1 Гбит/с каждый. Таким образом, группа сетевых адаптеров имеет заявленную скорость 3 Гбит/с, которая представляет собой совокупную скорость физических сетевых адаптеров, составляющих группу сетевых адаптеров. Пока все хорошо, правда?

пропускная способность 3Gbps?

Но действительно ли я создал сетевую карту 3 Гбит/с? Задумайтесь об этом на мгновение: стандарты Ethernet обычно определяют скорость соединения с шагом 10. Стандарт Fast Ethernet, который все использовали в 1990-х годах, работал на скорости 100 Мбит/с. Сегодня, конечно, у нас есть 1Gbps и 10Gbps Ethernet. Да, есть довольно ненормальные скорости выше 10 Гбит/с, но дело в том, что не существует определенного стандарта 3 Гбит/с. Так как же у нас есть связь 3Gbps?

Простое объяснение заключается в том, что на самом деле у нас нет канала 3 Гбит/с. Вместо этого у нас есть три отдельных канала 1 Гбит/с, а 1 Гбит/с — это четко определенный стандарт Ethernet. Однако если это так, то следующий логический вопрос заключается в том, действительно ли Windows дает нам возможность подключения со скоростью 3 Гбит/с. PowerShell говорит, что у нас есть канал 3 Гбит/с, но действительно ли мы получаем пропускную способность 3 Гбит/с?

Здесь все начинает становиться немного странным. За время, прошедшее с момента выпуска Windows Server 2012 (когда было введено объединение сетевых карт), я прочитал множество статей, сообщений в блогах и т. д., в которых указывалось, что группы сетевых плат объединяют доступную пропускную способность. Действительно, это то, на что указывает PowerShell. Однако идея о том, что объединение сетевых карт Windows Server обеспечивает совокупную пропускную способность, верна лишь частично. Позвольте мне показать вам, что я имею в виду.

На рисунке ниже показано, что произошло, когда я запустил утилиту под названием LAN Speed Test (Lite) на настольном компьютере, который я сейчас использую для написания этой статьи. Кстати, это бесплатная и полностью переносимая утилита, которую вы можете легко использовать, чтобы провести этот эксперимент самостоятельно.

Изображение 4481
Во всяком случае, на моем настольном компьютере не установлена команда NIC. Он использует один адаптер на 1 Гбит/с. Я настроил утилиту для передачи файла в общую папку, находящуюся на компьютере, настроенном для использования команды NIC. Другими словами, скорость передачи файлов была бы ограничена 1 Гбит/с из-за скорости сетевой карты моего настольного компьютера.

Тест оценивал как скорость записи (загрузки), так и скорость чтения (загрузки). Не буду утомлять вас всей статистикой, но скорость загрузки была примерно около 711 Мбит/с, а скорость скачивания около 732 Мбит/с.

Далее я снова провел тест. На этот раз я подключился к тому же общему ресурсу с сервера, на котором было включено объединение сетевых карт. Обе системы имели группу NIC 3 Гбит/с, поэтому скорость передачи теоретически не должна ограничиваться 1 Гбит/с, если Windows выполняла истинное агрегирование полосы пропускания. Вот результаты.

Изображение 4482
Как видите, скорость загрузки составила всего около 458 Мбит/с, что значительно ниже, чем при запуске теста с машины без команды NIC. Скорость загрузки составила около 764 Мбит/с, что немного выше, чем в предыдущем тесте.

Правда, это не было научной проверкой. Хотя на обеих машинах не было больших рабочих нагрузок, я не прилагал особых усилий, чтобы убедиться, что на обеих машинах все настроено идентично. Тем не менее, важным выводом здесь является то, что ни одна из машин не превышала 1 Гбит/с, несмотря на наличие команды NIC 3 Гбит/с.

Итак, что мы имеем на самом деле?

По моим наблюдениям, объединение сетевых карт Windows Server, по-видимому, не обеспечивает истинного объединения пропускной способности. Однако они, кажется, выполняют балансировку нагрузки. Хотя группа NIC никогда не может распределять один поток трафика по нескольким NIC, она может выполнять балансировку нагрузки, назначая разные потоки трафика разным NIC. Команды NIC также полезны с точки зрения отказоустойчивости. На самом деле можно назначить резервную сетевую карту в команде сетевой карты. Запасная сетевая карта будет автоматически использоваться в случае сбоя сетевой карты.