Проверка пропускной способности сети виртуальной машины с помощью NTTTCP
В этой статье описывается, как использовать бесплатное средство NTTTCP от Корпорации Майкрософт для тестирования пропускной способности сети и производительности пропускной способности на виртуальных машинах Windows или Linux. Средство, например NTTTCP, предназначено для тестирования сети и сводит к минимуму использование других ресурсов, которые могут повлиять на производительность.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Две виртуальные машины Windows или Linux в Azure. Создайте виртуальную машину Windows или создайте виртуальную машину Linux.
- Чтобы проверить пропускную способность, требуется две виртуальные машины с одинаковым размером для работы с отправителем и получателем. Две виртуальные машины должны находиться в одной группе размещения близкого взаимодействия или группе доступности, поэтому можно использовать внутренние IP-адреса и исключить подсистемы балансировки нагрузки из теста.
- Обратите внимание на количество ядер виртуальных машин и IP-адрес виртуальной машины приемника для использования в командах. Команды отправителя и получателя используют IP-адрес получателя.
Примечание.
Тестирование с помощью виртуального IP-адреса возможно, но выходит за рамки этой статьи.
Примеры, используемые в этой статье
Параметр | Значение |
---|---|
IP-адрес виртуальной машины получателя | 10.0.0.5 |
Количество ядер виртуальных машин | 2 |
Проверка пропускной способности с помощью виртуальных машин Windows или виртуальных машин Linux
Пропускную способность виртуальных машин Windows можно проверить с помощью NTTTCP или виртуальных машин Linux с помощью NTTTCP-for-Linux.
Подготовка виртуальных машин и установка NTTTCP-for-Windows
На виртуальных машинах отправителя и получателя скачайте последнюю версию NTTTCP в отдельную папку, например c:\tools.
Откройте командную строку Windows и перейдите в папку, в которой вы скачали ntttcp.exe.
На виртуальной машине получателя создайте правило брандмауэра
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
Чтобы подтвердить конфигурацию, используйте следующие команды, чтобы протестировать один поток протокола УПРАВЛЕНИЯ передачей (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
параметра.
На виртуальной машине-получателе выполните следующую команду, заменив
<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
На виртуальной машине отправителя выполните следующую команду. Команды отправителя и получателя отличаются только в
-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
Дождитесь результатов.
По завершении теста выходные данные должны быть похожи на следующий пример:
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