iPerf3는 IP 네트워크에서 달성 가능한 최대 대역폭을 능동적으로 측정하는 도구입니다. 타이밍, 버퍼, 프로토콜(TCP, UDP, SCTP 및 IPv4 및 IPv6)과 관련된 다양한 매개변수 조정을 지원합니다. 각 테스트마다 대역폭, 손실 및 기타 매개변수를 보고합니다. 이 구현은 원래 iPerf와 코드를 공유하지 않고 하위 호환성도 없는 새로운 구현체입니다. iPerf는 원래 NLANR/DAST에서 개발되었습니다. iPerf3는 주로 ESnet/로렌스 버클리 국립연구소에서 개발되었습니다.
iperf 도구 계열은 IP 네트워크에서 달성 가능한 최대 대역폭을 결정하기 위해 능동 측정을 수행합니다. 타이밍, 프로토콜, 버퍼와 관련된 다양한 매개변수 조정을 지원합니다. 각 테스트마다 측정된 처리량, 손실 및 기타 매개변수를 보고합니다.
이 릴리스는 때때로 iperf3라고도 불리며, NLANR / DAST가 개발한 원본 버전의 재설계입니다. iPERF3는 더 작고 단순한 코드베이스와 다른 프로그램에서 사용할 수 있는 라이브러리 버전을 목표로 하는 새로운 구현체입니다. iperf3는 또한 NutTCP와 NetPERF 같은 다른 도구들의 기능도 포함하고 있는데, 이는 원래 iperf에는 없었습니다. 예를 들어, 제로 복사 모드와 선택적 JSON 출력 등이 포함됩니다. 참고로 iperf3는 원래 iperf와 하위 호환이 되지 않습니다.
iPerf3는 장치의 네트워크 통신 속도를 테스트하는 데 사용할 수 있으며, iPerf3는 서버 장치와 클라이언트 두 기기에 설치할 수 있고, iPerf3를 통해 서로 메시지를 전송하여 통신 속도를 테스트할 수 있습니다.
iPerf3의 매개변수는 다음과 같습니다:
Usage: iperf [-s|-c host] [options] 이퍼프 [-h|--도움말] [-v|--버전]
서버 또는 클라이언트: -p, --port # 서버 포트 수신/연결 -f, --format [kmgKMG] 형식 보고: Kbits, Mbits, KBytes, MBytes -i, --간격 # 주기 대역폭 보고서 사이의 간격 -F, --파일 이름 xmit/recv 지정된 파일 -B, --특정 <host> 인터페이스에 결합 -V, --더 자세한 장황한 출력 -J, --json JSON 형식의 출력 --logfile f가 로그 파일에 출력을 보내는 것입니다. -d, --debug 디버깅 출력 -v, --버전 버전 정보 표시 및 종료 -h, --이 메시지 보여주고 그만두는 거 도와줘 서버별로: -s, --서버 모드 실행 -D, --데몬이 데몬으로 서버를 운영합니다 -I, --pidfile 파일 write PID 파일 -1, --한 번만 클라이언트 연결을 처리한 후 종료 고객별: -c, --클라이언트 <host> 모드로 실행, 연결됨 <host> -u, --udp 대신 TCP 대신 UDP를 사용합니다 -b, --대역폭 #[KMG][/#] 비트/초 기준 목표 대역폭 (무제한은 0) (기본 UDP는 1 Mbit/sec, TCP는 무제한) (버스트 모드용 선택 슬래시 및 패킷 카운트 사용 가능) -t, --시간 # 전송 시간 (초 단위) (기본 10초) -n, --바이트 #[KMG] 전송할 바이트 수 (-t 대신) -k, --블록 수(#[KMG] 전송할 블록(패킷) 수(-t 또는 -n 대신) -l, --len #[KMG] 읽기 또는 쓰기 버퍼 길이 (기본 TCP는 128 KB, UDP는 8 KB) --cport <port> 특정 클라이언트 포트에 바인딩(TCP 및 UDP, 기본값: 임시 포트) -P, --병렬 # 실행해야 할 병렬 클라이언트 스트림 수 -R, --역방향 실행 역방향 모드 (서버가 전송, 클라이언트가 수신) -w, --window #[KMG] 창 크기 설정 / 소켓 버퍼 크기 -M, --set-mss # set TCP/SCTP 최대 세그먼트 크기 (MTU - 40바이트) -N, --no-delay set TCP/SCTP no delay, Nagle의 알고리즘 비활성화 -4, --version4는 IPv4만 사용합니다 -6, --version6은 IPv6만 사용합니다 -S, --tos N은 IP '서비스 유형'을 설정합니다. -Z, --zerocopy 데이터 전송 방식의 'zero copy' 방식을 사용합니다 -오, --생략 N 첫 n 초 빼고 -T, --title str 접두사는 모든 출력 라인에 이 문자열을 붙입니다 --get-server-output get server from results --udp-counters-64bit는 UDP 테스트 패킷에서 64비트 카운터를 사용합니다
[KMG]는 kilo-, mega-, giga-의 K/M/G 접미사를 지원하는 옵션을 나타냅니다.
iPERF3 홈페이지:http://software.es.net/iperf/ 버그를 보고하는 곳: https://github.com/esnet/iperf 윈도우 64비트 버전 다운로드 주소:하이퍼링크 로그인이 보입니다.
LINUX 서버는 CentOS를 예로 들면, yum 명령어를 사용하여 iPerf3 도구를 설치할 수 있습니다. 명령어는 다음과 같습니다:
서버
리눅스 서버를 서버 측으로 두고, 다음 명령을 실행하세요:
클라이언트
로컬 컴퓨터를 클라이언트 쪽으로 사용해 다음과 같은 명령을 실행했습니다:
말:192.168.50.227은 서버 측의 IP 주소입니다
요약
서버 로그에는 192.168.50.243, 소스 포트 22376에서 테스트 요청이 수신된 것으로 나와 있습니다. 클라이언트 측은 10초간 연속 테스트를 수행하며, 초당 전송되는 바이트 수와 대역폭 정보를 표시합니다. 제출 및 수신된 통계는 시험 완료 후 요약됩니다. 클라이언트 연결이 종료된 후에도 포트 5201 수신은 계속됩니다.
호스트 192.168.50.227, 포트 5201에 연결 중 [ 4] 로컬 192.168.50.243 포트 22377이 192.168.50.227 포트 5201에 연결 [ ID] 간격 전송 대역폭 [ 4] 0.00-1.00초 112 MBytes 943 Mbits/sec [ 4] 1.00-2.00초 112 MBytes 940 Mbits/sec [ 4] 2.00-3.00초 112 MBytes 941 Mbits/sec [4] 3.00-4.00초 112 MB바이트 940 Mbits/sec [4] 4.00-5.00초 112 MBytes 941 Mbits/sec [ 4] 5.00-6.00초 112 MBytes 941 Mbits/sec [ 4] 6.00-7.00초 112 MBytes 942 Mbits/sec [ 4] 7.00-8.00초 112 MBytes 941 Mbits/sec [ 4] 8.00-9.00초 112 MBytes 942 Mbits/sec [4] 9.00-10.00초 112 MBytes 942 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] 간격 전송 대역폭 [ 4] 0.00-10.00초 1.10 GBytes 941 Mbits/sec 송신자 [4] 0.00-10.00초 1.10GBytes 941 Mbits/sec 수신기
iperf 완료. 서버와 클라이언트 장치 모두 기가비트 이더넷포트이고, 라우터도 기가비트 이더넷포트이므로 941 Mbits/sec의 대역폭이 정상입니다.
ESXI에서 가상 머신 테스트
두 시스템 모두 CentOS 시스템이며, 물리적 라우터에는 사설 IP 주소가 할당되어 사설 IP를 통해 다음과 같이 테스트됩니다:
호스트 192.168.50.227, 포트 5201에 연결 중 [ 5] 로컬 192.168.50.131 포트 35394가 192.168.50.227 포트 5201에 연결 [ ID] 간격 전송 비트레이트 Retr Cwnd [ 5] 0.00-1.00초 2.72 GBytes 23.3 Gbits/sec 0 1.39 MBytes [ 5] 1.00-2.00초 2.74 GBytes 23.5 Gbits/sec 0 1.48 MBytes [ 5] 2.00-3.00초 2.60 GBytes 22.3 Gbits/sec 0 1.48 MBytes [ 5] 3.00-4.00초 2.58 GBytes 22.2 Gbits/sec 0 1.48 MBytes [ 5] 4.00-5.00초 2.67 GBytes 23.0 Gbits/sec 0 1.48 MBytes [ 5] 5.00-6.00초 2.65 GBytes 22.7 Gbits/sec 0 1.48 MBytes [ 5] 6.00-7.00초 2.67 GBytes 23.0 Gbits/sec 0 1.48 MBytes [ 5] 7.00-8.00초 2.64 GBytes 22.7 Gbits/sec 0 1.48 MBytes [ 5] 8.00-9.00초 2.63 GBytes 22.6 Gbits/sec 0 1.48 MBytes [ 5] 9.00-10.00초 2.67 GBytes 22.9 Gbits/sec 0 1.48 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] 간격 전송 비트레이트 반환 [ 5] 0.00-10.00초 26.6 GBytes 22.8 Gbits/sec 0 송신자 [ 5] 0.00-10.04초 26.6 GBytes 22.7 Gbits/sec 수신기
iperf 완료. 이건 좀 비정상인데, 저는 기가비트 라우터이고 테스트 속도가 22.7 Gbits/sec인데, 물리 네트워크 카드를 통해서가 아니니까요?
접근 정보:https://communities.vmware.com/t ... Routes/ta-p/2783083
VM1과 VM2는 "vSwitch1"이라는 동일한 vSwitch에 연결되어 있으며, 같은 포트 그룹인 Production과 같은 VLAN인 VLAN 20에 연결되어 있으며, 두 경우 모두 ESX1이라는 동일한 ESXi 호스트에서 실행됩니다. 이 VM1과 VM2 간의 네트워크 트래픽은 ESXi 호스트의 물리적 NIC로 가지 않으며, 이 프레임들도 물리적 스위치나 라우터 같은 물리적 네트워크로 전달되지 않습니다. 왜냐하면 VM은 vSwitch 내에서 통신하여 네트워크 속도 향상과 네트워크 지연 시간을 줄이는 결과를 얻을 수 있습니다. VM1과 VM2는 "vSwitch1"이라는 동일한 vSwitch, 같은 포트 그룹인 Production, 같은 VLAN인 VLAN 20에 연결되어 있으며, 두 기기 모두 ESXi라는 이름의 ESXi 호스트에서 실행됩니다. 이 VM들(VM1과 VM2) 간의 네트워크 트래픽입니다.ESXi 호스트의 물리적 NIC로 가지 않습니다, 그리고 이 프레임들도이 정보는 물리적 네트워크로 전달되지 않습니다(물리적 스위치나 라우터처럼) VM들이 vSwitch 내에서 통신하기 때문에 네트워크 속도가 더 빠르고 네트워크 지연이 줄어들기 때문입니다.
내가 직접 환경을 테스트했어.두 개의 VM이 같은 호스트와 vSwitch에 있지만, 같은 포트 그룹에는 속하지 않습니다물리적 네트워크 카드와 물리적 네트워크로 전달되지 않는 것으로 보입니다.
|