Пропускная способность сетевых ресурсов виртуальной машины
Azure предлагает различные размеры и типы виртуальных машин с разными возможностями производительности. Одной из таких характеристик производительности является пропускная способность сети, которая измеряется в мегабитах в секунду (Мбит/с). Поскольку виртуальные машины размещены на общем оборудовании, пропускная способность сети должна справедливо распределяться между виртуальными машинами на одном элементе оборудования. Крупным виртуальным машинам предоставляется больше пропускной способности, чем более мелким.
Пропускная способность сети, выделяемая каждой виртуальной машине, определяет скорость передачи данных от виртуальной машины (исходящий трафик). Ограничение распространяется на весь сетевой трафик, покидающий виртуальную машину, независимо от его назначения. Например, если для виртуальной машины установлено ограничение в 1000 Мбит/с, оно применяется независимо от того, предназначен ли исходящий трафик для другой виртуальной машины в той же виртуальной сети или вне Azure.
Входящий трафик не измеряется и не ограничивается напрямую. Но есть и другие факторы, такие как ограничения ЦП и хранилища, которые могут повлиять на способность виртуальной машины обрабатывать входящие данные.
Функция ускорения работы в сети позволяет повысить производительность сети по таким показателям, как задержки в сети, пропускная способность и использование ЦП. Любые улучшения производительности, которые предоставляет ускорение работы в сети, возможны только в пределах полосы пропускания, выделенной для виртуальной машины. Дополнительные сведения см. в разделах об ускорении работы в сети для виртуальных машин Windows или Linux.
К виртуальной машине Azure можно присоединить несколько сетевых интерфейсов, и по меньшей мере один должен присутствовать обязательно. Пропускная способность, выделенная для виртуальной машины, оценивается по сумме исходящего трафика на всех присоединенных к ней сетевых интерфейсах. Другими словами, пропускная способность выделяется на виртуальную машину в целом, независимо от количества присоединенных к ней сетевых интерфейсов. Чтобы узнать, сколько сетевых интерфейсов поддерживают виртуальные машины Azure разных размеров, изучите описание размеров виртуальных машин для Windows и Linux.
Ожидаемая пропускная способность сети
Ожидаемая пропускная способность сети и количество поддерживаемых сетевых интерфейсов для разных размеров виртуальных машин указаны в описаниях размеров для виртуальных машин Windows и Linux. Выберите интересующий вас тип, например "Общего назначения", а затем на соответствующей странице выберите размер и серию, например Dv2. Каждая серия содержит таблицу с спецификациями сети в последнем столбце с заголовком,
Максимальное число сетевых адаптеров / ожидаемой производительности сети (Мбит/с).
Ограничение пропускной способности применяется ко всей виртуальной машине. Пропускная способность не зависит от следующих факторов.
Количество сетевых интерфейсов. Ограничение пропускной способности применяется ко всему совокупному исходящему трафику от виртуальной машины.
Ускорение сети. Эта функция помогает максимально эффективно использовать заявленный предел, но не изменяет его.
Назначение трафика. При оценке ограничения на исходящий трафик полностью учитываются все назначения.
Протокол. При оценке ограничения на исходящий трафик полностью учитываются все протоколы.
Ограничения сетевого потока
Кроме пропускной способности, на производительность сети может влиять количество сетевых подключений на виртуальной машине в конкретный момент времени. Сетевой стек Azure поддерживает состояние для каждого направления TCP/UDP-соединения в структурах данных, называемых потоками. Обычное подключение TCP/UDP имеет два потока, один для входящего трафика и другой для исходящего направления. Каждый поток отличается от 5 кортежей (протокол, локальный IP-адрес, удаленный IP-адрес, локальный порт и удаленный порт).
Для передачи данных между конечными точками требуется создание нескольких потоков в дополнение к потокам, которые выполняют передачу данных. Например, это могут быть потоки, созданные для разрешения DNS или проб работоспособности подсистемы балансировки нагрузки. Сетевые виртуальные устройства (NVA), такие как шлюзы, прокси-серверы, брандмауэры, см. потоки, созданные для подключений, завершенных на устройстве и созданных устройством.
Ограничения потока и рекомендации по активным подключениям
На сегодняшний день сетевой стек Azure поддерживает 1 млн потоков для виртуальной машины (500 тыс. входящих и 500 тыс. исходящих). Общее количество активных подключений, обрабатываемых виртуальной машиной в разных сценариях, выглядит следующим образом.
Виртуальные машины, принадлежащие виртуальной сети, могут обрабатывать 500 тысяч активных подключений для всех размеров виртуальных машин с активными потоками в каждом направлении.
Виртуальные машины с сетевыми сетями, такими как шлюз, прокси- сервер, брандмауэр может обрабатывать 250 тысяч активных подключений с 500k активными потоками в каждом направлении из-за переадресации и создания нового потока при настройке нового подключения к следующему прыжку, как показано на приведенной выше схеме.
После попадания этого ограничения другие подключения удаляются. Скорость, с которой соединение устанавливается и завершается, также может влиять на производительность сети, поскольку при этом ЦП используется вместе с подпрограммами обработки пакетов. Мы рекомендуем провести тест производительности, сравнивать рабочие нагрузки с ожидаемыми шаблонами трафика и провести масштабирование в соответствии с вашими потребностями.
Метрики доступны в Azure Monitor для отслеживания количества сетевых потоков и скорости создания потока на виртуальной машине или Масштабируемые наборы виртуальных машин экземплярах.