iPerf3 – Linux에서 네트워크 속도/처리량 테스트하기

iperf3는 실시간 네트워크 대역폭 측정을 수행하는 무료 오픈 소스, 크로스 플랫폼 명령줄 기반 프로그램입니다. 이는 IP 네트워크에서 최대 달성 대역폭을 테스트하는 데 가장 강력한 도구 중 하나입니다 (IPv4와 IPv6를 지원합니다).

iperf를 사용하면 TCP, UDP 및 SCTP와 같은 타이밍, 버퍼 및 프로토콜과 관련된 여러 매개변수를 조정할 수 있습니다. 이는 네트워크 성능 튜닝 작업에 유용합니다.

최대 또는 개선된 네트워크 성능을 확보하기 위해서는 네트워크의 수신 및 송신 능력의 대역폭과 지연 시간을 늘려야 합니다.

그러나 실제 튜닝에 들어가기 전에 튜닝 프로세스를 안내할 전체 네트워크 성능 통계를 수집하기 위해 몇 가지 테스트를 수행해야 합니다.

결과에는 초 단위의 시간 간격, 전송된 데이터, 대역폭 (전송 속도), 손실 및 기타 유용한 네트워크 성능 매개변수가 포함됩니다. 이는 특정 경로 상의 TCP 연결을 튜닝하는 데 도움을 주기 위해 주로 의도되었으며, 이것이 이 가이드에서 초점을 맞출 내용입니다.

요구 사항:

  • 둘 다 iperf3이 설치된 네트워크화된 컴퓨터 두 대.Linux 시스템에 iPerf3 설치하는 방법

iPerf3 설치하기 리눅스 시스템에서

네트워크 성능 테스트를 위해 iperf3를 사용하기 전에 두 대의 기기에 설치해야 합니다. iperf3대부분의 일반적인 리눅스 배포판의 공식 소프트웨어 저장소에서 사용할 수 있으므로 패키지 관리자를 사용하여 간단하게 설치할 수 있습니다.

$ sudo apt install iperf3         [On Debian, Ubuntu and Mint]
$ sudo yum install iperf3         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a net-misc/iperf   [On Gentoo Linux]
$ sudo apk add iperf3             [On Alpine Linux]
$ sudo pacman -S iperf3           [On Arch Linux]
$ sudo zypper install iperf3      [On OpenSUSE]    

두 기기에서 iperf3가 설치되면 네트워크 처리량 테스트를 시작할 수 있습니다.

두 대의 리눅스 서버 간 네트워크 속도 테스트하기

먼저, 서버로 사용할 원격 기기에 연결하고 iperf3를 서버 모드로 실행하여 -s 플래그를 사용하여 5201 포트에서 수신 대기합니다.

보고서에 사용할 형식(k, m, gKbits, Mbits, Gbits 또는 K, M, GKBytes, Mbytes, Gbytes)을 -f 스위치를 사용하여 지정할 수 있습니다.

$ iperf3 -s -f K 

서버의 5201 포트가 다른 프로그램에 사용 중이라면 -p 스위치를 사용하여 3000과 같은 다른 포트를 지정할 수 있습니다.

$ iperf3 -s -p 3000

옵션으로, -D 플래그를 사용하여 서버를 데몬으로 실행하고 서버 메시지를 로그 파일에 기록할 수 있습니다.

$ iperf3 -s -D > iperf3log 

클라이언트(실제 벤치마킹이 이루어지는 장소)에서, 로컬 머신에서 iperf3를 클라이언트 모드로 실행하고 -c 플래그를 사용하여 서버가 실행 중인 호스트를 지정하십시오(그것은 IP 주소 또는 도메인 또는 호스트 이름을 사용하여 지정할 수 있습니다).

$ iperf3 -c 192.168.10.1 -f K

18에서 20초 후에 클라이언트가 종료되고 벤치마크의 평균 처리량을 나타내는 결과가 생성되어야 합니다. 다음 스크린샷에 표시된 것처럼.

Test Network Throughput Between Servers
From the benchmark results, as shown in the above screenshot, there is a variation in values from the server and client. But, you should always consider using the results obtained from the iperf client machine in every test you carry out.

리눅스에서 고급 네트워크 테스트 처리량 수행 방법

아래에 설명된 대로 고급 테스트를 수행하기 위한 여러 클라이언트별 옵션이 있습니다.

특정 시간에 네트워크 내의 데이터 양을 결정하는 중요한 요소 중 하나는 TCP 윈도우 크기입니다. TCP 연결을 조정하는 데 중요합니다. 윈도우 크기/소켓 버퍼 크기를 설정할 수 있습니다. -w 플래그를 사용하여 표시된대로.

$ iperf3 -c 192.168.10.1 -f K -w 500K	

서버가 보내고 클라이언트가 수신하는 역방향 모드에서 실행하려면 -R 스위치를 추가하십시오.

$ iperf3 -c 192.168.10.1 -f K -w 500K -R	

양방향 테스트를 실행하려면, 즉 양방향으로 대역폭을 동시에 측정하려면 -d 옵션을 사용하십시오.

$ iperf3 -c 192.168.10.1 -f K -w 500K -d

서버 결과클라이언트 출력에서 받고 싶으면 --get-server-output 옵션을 사용하십시오.

$ iperf3 -c 192.168.10.1 -f K -w 500K -R --get-server-output
Get Server Network Results in the Client

또한, 동시에 실행되는 병렬 클라이언트 스트림의 수(이 예제에서는 두 개)를 설정할 수 있습니다. -P 옵션을 사용하십시오.

$ iperf3 -c 192.168.10.1 -f K -w 500K -P 2

자세한 정보는 iperf3 맨 페이지를 참조하십시오.

$ man iperf3

그것은 모두입니다! 실제 네트워크 성능 조정을 시작하기 전에 항상 네트워크 성능 테스트를 수행하십시오. iperf3은 네트워크 처리량 테스트를 실행하는 데 유용한 강력한 도구입니다.

공유할 생각이나 질문이 있으신가요? 아래의 코멘트 양식을 사용해 주세요.

Source:
https://www.tecmint.com/test-network-throughput-in-linux/