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

Внимание

Эта статья ссылается на CentOS, дистрибутив Linux, который приближается к состоянию конца жизни (EOL). Обратите внимание на использование и план соответствующим образом. Дополнительные сведения см. в руководстве centOS End Of Life.

В этой статье описывается, как использовать бесплатное средство NTTTCP от Корпорации Майкрософт для тестирования пропускной способности сети и производительности пропускной способности на виртуальных машинах Windows или Linux. Средство, например NTTTCP, предназначено для тестирования сети и сводит к минимуму использование других ресурсов, которые могут повлиять на производительность.

Необходимые компоненты

  • Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
  • Две виртуальные машины Windows или Linux в Azure. Создайте виртуальную машину Windows или создайте виртуальную машину Linux.
    • Чтобы проверить пропускную способность, требуется две виртуальные машины с одинаковым размером для работы с отправителем и получателем. Две виртуальные машины должны находиться в одной группе размещения близкого взаимодействия или группе доступности, поэтому можно использовать внутренние IP-адреса и исключить подсистемы балансировки нагрузки из теста.
    • Обратите внимание на количество ядер виртуальных машин и IP-адрес виртуальной машины приемника для использования в командах. Команды отправителя и получателя используют IP-адрес получателя.

Примечание.

Тестирование с помощью виртуального IP-адреса (VIP) возможно, но выходит за рамки область этой статьи.

Примеры, используемые в этой статье

Параметр Значение
IP-адрес виртуальной машины получателя 10.0.0.5
Количество ядер виртуальных машин 2

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

Пропускную способность виртуальных машин Windows можно проверить с помощью NTTTCP или виртуальных машин Linux с помощью NTTTCP-for-Linux.

Подготовка виртуальных машин и установка NTTTCP-for-Windows

  1. На виртуальных машинах отправителя и получателя скачайте последнюю версию NTTTCP в отдельную папку, например c:\tools.

  2. Откройте командную строку Windows и перейдите в папку, в которой вы скачали ntttcp.exe.

  3. На виртуальной машине получателя создайте правило брандмауэра allow Windows, чтобы разрешить поступлению трафика NTTTCP. Проще разрешить nttcp.exe по имени, чем разрешить определенные входящие TCP-порты. Выполните следующую команду, заменив c:\tools путь загрузки для ntttcp.exe , если он отличается.

    netsh advfirewall firewall add rule program=c:\tools\ntttcp.exe name="ntttcp" protocol=any dir=in action=allow enable=yes profile=ANY
    
  4. Чтобы подтвердить конфигурацию, используйте следующие команды, чтобы протестировать один поток протокола УПРАВЛЕНИЯ передачей (TCP) в течение 10 секунд на виртуальных машинах получателя и отправителя:

    Виртуальная машина-получатель

    ntttcp -r -m [<number of VM cores> x 2],*,<receiver IP address> -t 10 -P 1

    ntttcp -r -m 4,*,10.0.0.5 -t 10 -P 1
    

    Виртуальная машина отправителя

    ntttcp -s -m [<number of VM cores> x 2],*,<receiver IP address> -t 10 -P 1

    ntttcp -s -m 4,*,10.0.0.5 -t 10 -P 1
    

    Примечание.

    Используйте приведенные выше команды только для тестирования конфигурации.

    Совет

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

Выполнение тестов пропускной способности

Выполните тест в течение 300 секунд или пять минут на виртуальных машинах отправителя и получателя. Отправитель и получатель должны указать ту же длительность теста для -t параметра.

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

    ntttcp -r -m [<number of VM cores> x 2],*,<receiver IP address> -t 300

    ntttcp -r -m 4,*,10.0.0.5 -t 300
    
  2. На виртуальной машине отправителя выполните следующую команду. Команды отправителя и получателя отличаются только в -s параметре, -r который назначает отправителем или виртуальной машиной получателя.

    ntttcp -s -m [<number of VM cores> x 2],*,<receiver IP address> -t 300

    ntttcp -s -m 4,*,10.0.0.5 -t 300
    
  3. Дождитесь результатов.

По завершении теста выходные данные должны быть похожи на следующий пример:

C:\tools>ntttcp -s -m 4,*,10.0.0.5 -t 300
Copyright Version 5.39
Network activity progressing...


Thread  Time(s) Throughput(KB/s) Avg B / Compl
======  ======= ================ =============
     0  300.006        29617.328     65536.000
     1  300.006        29267.468     65536.000
     2  300.006        28978.834     65536.000
     3  300.006        29016.806     65536.000


#####  Totals:  #####


   Bytes(MEG)    realtime(s) Avg Frame Size Throughput(MB/s)
================ =========== ============== ================
    34243.000000     300.005       1417.829          114.141


Throughput(Buffers/s) Cycles/Byte       Buffers
===================== =========== =============
             1826.262       7.036    547888.000


DPCs(count/s) Pkts(num/DPC)   Intr(count/s) Pkts(num/intr)
============= ============= =============== ==============
     4218.744         1.708        6055.769          1.190


Packets Sent Packets Received Retransmits Errors Avg. CPU %
============ ================ =========== ====== ==========
    25324915          2161992       60412      0     15.075

Проверка пропускной способности между виртуальной машиной Windows и виртуальной машиной Linux

Чтобы запустить тесты пропускной способности NTTTCP между виртуальной машиной Windows и виртуальной машиной Linux, включите режим без синхронизации с помощью -ns флага в Windows или флаге -N в Linux.

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

ntttcp -r -m [<number of VM cores> x 2],*,<Linux VM IP address> -t 300

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

ntttcp -s -m [<number of VM cores> x 2],*,<Linux VM IP address> -ns -t 300

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