Пропускная способность сетевых ресурсов виртуальной машины

Azure предоставляет несколько разных типов и размеров виртуальных машин, каждый из которых имеет определенное сочетание характеристик производительности. Одной из таких характеристик производительности является пропускная способность сети, которая измеряется в мегабитах в секунду (Мбит/с). Поскольку виртуальные машины размещены на общем оборудовании, пропускная способность сети должна справедливо распределяться между виртуальными машинами на одном элементе оборудования. Крупным виртуальным машинам предоставляется больше пропускной способности, чем более мелким.

Пропускная способность сети, выделяемая каждой виртуальной машине, определяет скорость передачи данных от виртуальной машины (исходящий трафик). Ограничение распространяется на весь сетевой трафик, покидающий виртуальную машину, независимо от его назначения. Например, если для виртуальной машины установлено ограничение 1000 Мбит/с, эта квота расходуется на любой исходящий трафик — как к другой виртуальной машине в той же виртуальной сети, так и за пределы Azure.

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

Функция ускорения работы в сети позволяет повысить производительность сети по таким показателям, как задержки в сети, пропускная способность и использование ЦП. Любые улучшения производительности, которые предоставляет ускорение работы в сети, возможны только в пределах полосы пропускания, выделенной для виртуальной машины. Дополнительные сведения см. в разделах об ускорении работы в сети для виртуальных машин Windows или Linux.

К виртуальной машине Azure можно присоединить несколько сетевых интерфейсов, и по меньшей мере один должен присутствовать обязательно. Пропускная способность, выделенная для виртуальной машины, оценивается по сумме исходящего трафика на всех присоединенных к ней сетевых интерфейсах. Другими словами, пропускная способность выделяется на виртуальную машину в целом, независимо от количества присоединенных к ней сетевых интерфейсов. Чтобы узнать, сколько сетевых интерфейсов поддерживают виртуальные машины Azure разных размеров, изучите описание размеров виртуальных машин для Windows и Linux.

Ожидаемая пропускная способность сети

Ожидаемая пропускная способность сети и количество поддерживаемых сетевых интерфейсов для разных размеров виртуальных машин указаны в описаниях размеров для виртуальных машин Windows и Linux. Выберите интересующий вас тип, например "Общего назначения", а затем на соответствующей странице выберите серию размеров, например Dv2. Для каждой серии предоставлена таблица с характеристиками, в которой спецификации сети указаны в последнем столбце под названием Максимальное число сетевых адаптеров и ожидаемая производительность сети (Мбит/с).

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

  • Количество сетевых интерфейсов. Ограничение пропускной способности применяется ко всему совокупному исходящему трафику от виртуальной машины.
  • Ускорение сети. Эта функция помогает максимально эффективно использовать заявленный предел, но не изменяет его.
  • Назначение трафика. При оценке ограничения на исходящий трафик полностью учитываются все назначения.
  • Протокол. При оценке ограничения на исходящий трафик полностью учитываются все протоколы.

Ограничения сетевого потока

Кроме пропускной способности, на производительность сети может влиять количество сетевых подключений на виртуальной машине в конкретный момент времени. Сетевой стек Azure поддерживает состояние для каждого направления TCP/UDP-соединения в структурах данных, называемых потоками. Для типичного TCP/UDP-соединения будет создано 2 потока: один для входящего направления, а другой — для исходящего.

Передача данных между конечными точками требует создания нескольких потоков в дополнение к тем, которые осуществляют эту передачу. Например, это могут быть потоки, созданные для разрешения DNS или проб работоспособности подсистемы балансировки нагрузки. Также обратите внимание, что сетевые виртуальные модули, например шлюзы, прокси-серверы и брандмауэры, будут видеть потоки, которые создаются для соединений, завершенных на устройстве и инициированных им.

Flow count for TCP conversation through a forwarding appliance

Рекомендации по ограничениям потоков и активным соединениям

На сегодняшний день сетевой стек Azure поддерживает 1 млн потоков для виртуальной машины (500 тыс. входящих и 500 тыс. исходящих). Ниже указано общее количество активных соединений, которые может обрабатывать виртуальная машина при различных сценариях.

  • Машины в виртуальной сети могут обрабатывать 500 тыс. активных соединений для всех размеров виртуальных машин с 500 тыс. активных потоков в каждом направлении.
  • Виртуальные машины с сетевыми виртуальными модулями, например шлюзом, прокси-сервером и брандмауэром, могут обрабатывать 250 тыс. активных соединений с 500 тыс. активных потоков в каждом направлении. Как показано на схеме выше, это связано с пересылкой и созданием дополнительных потоков при настройке нового подключения к следующему прыжку.

Как только этот предел достигнут, последующие соединения сбрасываются. Скорость, с которой соединение устанавливается и завершается, также может влиять на производительность сети, поскольку при этом ЦП используется вместе с подпрограммами обработки пакетов. Мы рекомендуем провести тест производительности, сравнивать рабочие нагрузки с ожидаемыми шаблонами трафика и провести масштабирование в соответствии с вашими потребностями.

В Azure Monitor доступны метрики для отслеживания количества сетевых потоков и скорости их создания на виртуальной машине или экземплярах VMSS.

Screenshot shows the Metrics page of Azure Monitor with a line chart and totals for inbound and outbound flows.

Дальнейшие действия