NTTTCP를 사용하여 VM 네트워크 처리량 테스트
주의
이 문서는 EOL(수명 종료) 상태인 Linux 배포판인 CentOS를 참조합니다. 이에 따라 사용 및 플랜을 고려하세요. 자세한 내용은 CentOS 수명 종료 지침을 참조하세요.
이 문서에서는 Microsoft의 무료 NTTTCP 도구를 사용하여 Azure Windows 또는 Linux VM(가상 머신)에서 네트워크 대역폭 및 처리량 성능을 테스트하는 방법을 설명합니다. NTTTCP와 같은 도구는 테스트용 네트워크를 대상으로 하며 성능에 영향을 줄 수 있는 다른 리소스의 사용을 최소화합니다.
필수 조건
- 활성 구독이 있는 Azure 계정. 체험 계정을 만듭니다.
- Azure에서 두 대의 Windows 컴퓨터 또는 Linux 가상 머신. Windows VM을 만들거나 Linux VM을 만듭니다.
참고 항목
VIP(가상 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 설치
보낸 사람 및 수신자 VM 모두에서 최신 버전의 NTTTCP를 c:\tools와 같은 별도의 폴더에 다운로드합니다.
Windows 명령줄을 열고 ntttcp.exe를 다운로드한 폴더로 이동합니다.
받는 사람 VM에서 NTTTCP 트래픽 도착을 허용하는 Windows 방화벽
allow
규칙을 만듭니다. 특정 인바운드 TCP 포트를 허용하는 것보다 이름으로 nttcp.exe를 허용하는 것이 더 쉽습니다. 다음 명령을 실행하여 다른 경우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
구성을 확인하려면 다음 명령을 사용하여 받는 사람 및 보낸 사람 가상 머신에서 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
매개 변수에 대해 동일한 테스트 기간을 지정해야 합니다.
수신기 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
송신기 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
결과를 기다립니다.
테스트가 완료되면 출력은 다음 예제와 유사해야 합니다.
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