Поделиться через


Проверка сетевой задержки между виртуальными машинами Azure

В этой статье описывается, как протестировать задержку сети между виртуальными машинами Azure с помощью общедоступных средств Latte для Windows или SockPerf для Linux.

Для наиболее точных результатов следует измерять задержку сети виртуальной машины с помощью средства, предназначенного для задачи, и исключить другие типы задержки, такие как задержка приложения. Latte и SockPerf предоставляют наиболее релевантные результаты по задержке сети, сосредоточившись на трафике протокола управления передачей (TCP) и протокола пользовательских датаграмм (UDP). Большинство приложений используют эти протоколы, и этот трафик имеет наибольшее влияние на производительность приложения.

Многие другие распространенные инструменты тестирования задержки сети, такие как Ping, не измеряют трафик по протоколам TCP или UDP. Такие инструменты, как Ping, используют протокол ICMP, который не используется приложениями. Трафик ICMP может обрабатываться иначе, чем трафик приложений, и не оказывает непосредственного влияния на производительность приложений. Результаты теста ICMP не применимы напрямую к рабочим нагрузкам, использующим протоколы TCP и UDP.

Latte и SockPerf измеряют только время доставки полезных данных протокола TCP или UDP. Для измерения задержки в сети между двумя физическими или виртуальными компьютерами эти инструменты используют следующий подход:

  1. Создается двусторонний коммуникационный канал между компьютерами, и один из них назначается отправителем, а другой — получателем.
  2. Осуществляется отправка и получение пакетов в обоих направлениях и измерение времени кругового пути (RTT).

Советы и рекомендации по оптимизации задержки сети

Чтобы оптимизировать виртуальные машины для задержки сети, обратите внимание на следующие рекомендации при создании виртуальных машин:

  • Используйте последнюю версию Windows или Linux.
  • Включите ускоренную сеть для повышения производительности.
  • Развертывание виртуальных машин в группе размещения близкого взаимодействия Azure.
  • Создайте большие виртуальные машины для повышения производительности.

Используйте следующие рекомендации для тестирования и анализа задержки сети:

  1. Как только вы завершите развертывание, настройку и оптимизацию сетевых виртуальных машин, выполните базовые измерения задержки сети между развернутыми виртуальными машинами, чтобы установить тесты.

  2. Проверьте влияние на задержку сети при изменении любого из следующих компонентов:

    • Программное обеспечение операционной системы (ОС) или сетевого стека, включая изменения конфигурации.
    • Метод развертывания виртуальной машины, например развертывание в зоне доступности или группе размещения близкого взаимодействия (PPG).
    • Свойства виртуальной машины, такие как ускорение сети или изменение размера.
    • Конфигурация виртуальной сети, например маршрутизация или фильтрация изменений.
  3. Всегда сравнивайте новые результаты теста с базовыми или последними результатами теста перед контролируемыми изменениями.

  4. Повторяйте тесты всякий раз, когда вы наблюдаете или развертываете изменения.

Тестирование виртуальных машин с помощью Latte или SockPerf

Используйте следующие процедуры, чтобы установить и проверить задержку сети в Latte для Windows или SockPerf для Linux.

Установка Латте и настройка виртуальных машин

  1. Скачайте последнюю версию latte.exe на обе виртуальные машины в отдельную папку, например c:\tools.

  2. На виртуальной машине получателя создайте правило брандмауэра allow Защитника Windows, чтобы разрешить прибыть трафик Latte. Проще разрешить latte.exe программе по имени, чем разрешить определенные входящие TCP-порты. В команде замените <path> заполнитель на путь, в который вы скачали latte.exe , например c:\tools\.

    netsh advfirewall firewall add rule program=<path>latte.exe name="Latte" protocol=any dir=in action=allow enable=yes profile=ANY
    

Запуск Латте на виртуальных машинах

Запустите latte.exe из командной строки Windows, а не из PowerShell.

  1. На виртуальной машине получателя выполните следующую команду, заменив <receiver IP address><port>заполнители и <iterations> заполнители собственными значениями.

    latte -a <receiver IP address>:<port> -i <iterations>
    
    • Около 65 000 итераций достаточно, чтобы вернуть репрезентативные результаты.
    • Подходит любой доступный номер порта.

    В следующем примере показана команда для виртуальной машины с IP-адресом 10.0.0.4:

    latte -a 10.0.0.4:5005 -i 65100

  2. На виртуальной машине отправителя выполните ту же команду, что и получатель, за исключением -c добавленных, чтобы указать клиент или виртуальную машину отправителя. Снова замените <receiver IP address><port><iterations> заполнители и заполнители собственными значениями.

    latte -c -a <receiver IP address>:<port> -i <iterations>
    

    Например:

    latte -c -a 10.0.0.4:5005 -i 65100

  3. Дождитесь результатов. В зависимости от расстояния между виртуальными машинами на завершение теста может потребоваться несколько минут. Рекомендуется начать с меньшего количества итераций, чтобы проверить успешность перед выполнением более долгих тестов.

Следующие шаги