don't stop believing

Linux에서 인터넷 대역폭(속도) 측정하기 - iperf3 본문

Network

Linux에서 인터넷 대역폭(속도) 측정하기 - iperf3

Tongchun 2019. 1. 15. 17:05

Linux에서 Bandwidth를 측정할 때 지금까지 iperf를 사용했습니다.

그러다 upload와 download를 구분이 필요했고 iperf3에서 가능한 것을 확인했습니다.

바로 들어갑니다.


Ubuntu에서 설치할 때는 apt-get을 사용합니다.

$ sudo apt-get install iperf3

CentOS에서는 yum입니다.

$ sudo yum install iperf3

iperf3도 Server와 Client로 역할이 나눠집니다. 그래서 아래와 같이 실행합니다.

Server: 10.10.0.78 (CentOS)

Client: 10.10.1.168 (Ubuntu)

두 서버 모두 사내 PC입니다.


Server 역할을 실행하겠습니다. iperf와 동일하게 -s 플레그로 실행합니다. 

그리고 출력되는 측정 내역의 단위를 지정할 수 있습니다. -f 플레그에 k, m, g 또는 K, M, G를 선택할 수 있습니다.  

소문자인 k, m, g는 Kbits, Mbits, Gbits를 의미하며, 대문자인 K, M, G는 KBytes, Mbytes, Gbytes 입니다.

Mbits로 출력하려면 -f m를 추가합니다.

$ iperf3 -s -f m
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------

iperf3 Server를 실행하면 기본 port는 5201입니다. 만약 port를 지정하고 싶다면 -p 플레그에 원하는 포트를 추가합니다.

port 3000으로 다시 실행해 보겠습니다.

$ iperf3 -s -p 3000 -f m
-----------------------------------------------------------
Server listening on 3000
-----------------------------------------------------------

추가로 iperf3를 데몬으로 실행하고 출력 내용을 파일로 저장하고 싶다면 아래와 같이 -D 플래그를 추가할 수 있습니다.

$ iperf3 -s -p 3000 -f m -D > iperf3log

위 명령을 실행한 경로에 iperf3log 파일이 생성되며 실시간 확인은 tail 명령으로 확인할 수 있습니다.

tail -f iperf3log


서버는 준비가 되었습니다.

이제 Client에서 서버로 패킷을 보내 bandwidth를 확인해 봅니다. client 명령은 아래와 같습니다.

$ iperf3 -c 10.10.0.78 -f m
Connecting to host 10.10.0.78, port 5201
[  4] local 10.10.1.168 port 49508 connected to 10.10.0.78 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  11.6 MBytes  97.0 Mbits/sec    0    201 KBytes       
[  4]   1.00-2.00   sec  11.2 MBytes  94.1 Mbits/sec    0    201 KBytes       
[  4]   2.00-3.00   sec  11.2 MBytes  94.1 Mbits/sec    0    201 KBytes       
[  4]   3.00-4.00   sec  11.2 MBytes  94.1 Mbits/sec    0    201 KBytes       
[  4]   4.00-5.00   sec  11.2 MBytes  94.1 Mbits/sec    0    201 KBytes       
[  4]   5.00-6.00   sec  11.2 MBytes  94.2 Mbits/sec    0    201 KBytes       
[  4]   6.00-7.00   sec  11.2 MBytes  94.1 Mbits/sec    0    201 KBytes       
[  4]   7.00-8.00   sec  11.2 MBytes  94.2 Mbits/sec    0    263 KBytes       
[  4]   8.00-9.00   sec  11.2 MBytes  94.0 Mbits/sec    0    263 KBytes       
[  4]   9.00-10.00  sec  11.3 MBytes  94.8 Mbits/sec    0    307 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec   113 MBytes  94.5 Mbits/sec    0             sender
[  4]   0.00-10.00  sec   112 MBytes  94.1 Mbits/sec                  receiver

iperf Done.

iperf3에서는 sender와 receiver가 구분되 출력됩니다. sender는 upload, reciver는 download로 보시면 됩니다.

Server쪽에서도 비슷하게 출력되고 있습니다.

-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 10.10.1.168, port 49506
[  5] local 10.10.0.78 port 5201 connected to 10.10.1.168 port 49508
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-1.00   sec  10.8 MBytes  90.4 Mbits/sec                  
[  5]   1.00-2.00   sec  11.2 MBytes  94.1 Mbits/sec                  
[  5]   2.00-3.00   sec  11.2 MBytes  94.1 Mbits/sec                  
[  5]   3.00-4.00   sec  11.2 MBytes  94.1 Mbits/sec                  
[  5]   4.00-5.00   sec  11.2 MBytes  94.1 Mbits/sec                  
[  5]   5.00-6.00   sec  11.2 MBytes  94.1 Mbits/sec                  
[  5]   6.00-7.00   sec  11.2 MBytes  94.1 Mbits/sec                  
[  5]   7.00-8.00   sec  11.1 MBytes  93.2 Mbits/sec                  
[  5]   8.00-9.00   sec  11.2 MBytes  94.0 Mbits/sec                  
[  5]   9.00-10.00  sec  11.2 MBytes  94.1 Mbits/sec                  
[  5]  10.00-10.05  sec   576 KBytes  93.6 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-10.05  sec  0.00 Bytes  0.00 Mbits/sec                  sender
[  5]   0.00-10.05  sec   112 MBytes  93.6 Mbits/sec                  receiver

여기까지 기본적인 사용 방법이었습니다.

더 자세한 내용은 아래 링크에서 참고하세요.

https://www.mankier.com/1/iperf3


Comments