다음을 통해 공유


NTTTCP를 사용하여 VM 네트워크 처리량 테스트

이 문서에서는 Microsoft의 무료 NTTTCP 도구를 사용하여 Azure Windows 또는 Linux VM(가상 머신)에서 네트워크 대역폭 및 처리량 성능을 테스트하는 방법을 설명합니다. NTTTCP와 같은 도구는 테스트용 네트워크를 대상으로 하며 성능에 영향을 줄 수 있는 다른 리소스의 사용을 최소화합니다.

필수 조건

  • 활성 구독이 있는 Azure 계정. 체험 계정을 만듭니다.
  • Azure에서 두 대의 Windows 컴퓨터 또는 Linux 가상 머신. Windows VM을 만들거나 Linux VM을 만듭니다.
    • 처리량을 테스트하려면 보낸 사람수신자 역할을 하는 동일한 크기의 VM 두 개가 필요합니다. 두 VM은 동일한 근접 배치 그룹 또는 가용성 집합에 있어야 하므로 내부 IP 주소를 사용하고 테스트에서 부하 분산 장치를 제외할 수 있습니다.
    • 명령에 사용할 VM 코어 수와 수신기 VM IP 주소를 확인합니다. 보낸 사람 및 수신자 명령 모두 수신자의 IP 주소를 사용합니다.

참고 항목

가상 IP를 사용하여 테스트할 수 있지만 이는 이 문서의 범위를 벗어납니다.

이 문서에 사용된 예

설정
받는 사람 VM IP 주소 10.0.0.5
VM 코어 수 2

Windows VM 또는 Linux VM을 사용하여 처리량 테스트

NTTTCP를 사용하여 Windows VM에서 또는 NTTTCP-for-Linux를 사용하여 Linux VM에서 처리량을 테스트할 수 있습니다.

VM 준비 및 NTTTCP-for-Windows 설치

  1. 보낸 사람 및 수신자 VM 모두에서 최신 버전의 NTTTCPc:\tools와 같은 별도의 폴더에 다운로드합니다.

  2. Windows 명령줄을 열고 ntttcp.exe를 다운로드한 폴더로 이동합니다.

  3. 받는 사람 VM에서 NTTTCP 트래픽 도착을 허용하는 Windows 방화벽 allow 규칙을 만듭니다. 특정 인바운드 TCP 포트를 허용하는 것보다 이름으로 nttcp.exe를 허용하는 것이 더 쉽습니다. 다음 명령을 실행하여 다른 경우 c:\toolsntttcp.exe의 다운로드 경로로 바꿉니다.

    netsh advfirewall firewall add rule program=c:\tools\ntttcp.exe name="ntttcp" protocol=any dir=in action=allow enable=yes profile=ANY
    
  4. 구성을 확인하려면 다음 명령을 사용하여 받는 사람 및 보낸 사람 가상 머신에서 10초 동안 단일 TCP(Transfer Control Protocol) 스트림을 테스트합니다.

    받는 사람 VM

    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
    

    보낸 사람 VM

    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초로 연장합니다.

처리량 테스트 실행

송신기 및 수신기 VM 모두에서 300초 또는 5분 동안 테스트를 실행합니다. 보낸 사람 및 수신자는 -t 매개 변수에 대해 동일한 테스트 기간을 지정해야 합니다.

  1. 수신기 VM에서 다음 명령을 실행하여 <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. 송신기 VM에서 다음 명령을 실행합니다. 보낸 사람 및 수신자 명령은 보낸 사람 또는 수신자 VM을 지정하는 -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 VM과 Linux VM 간의 처리량 테스트

Windows VM과 Linux VM 간에 NTTTCP 처리량 테스트를 실행하려면 Windows의 -ns 플래그 또는 Linux의 -N 플래그를 사용하여 비동기화 모드를 사용하도록 설정합니다.

Windows VM을 수신기로 테스트하려면 다음 명령을 실행합니다.

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

Windows VM을 송신기로 테스트하려면 다음 명령을 실행합니다.

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

다음 단계