[LINUX] iperf를 사용하여 매우 쉬운 리눅스에서 네트워크 트래픽 속도 분석하기

서버와 서버간의 파일전송을 하는데 이상하게 속도가 나지 않습니다. 두대의 서버가 모두 동일한 스위치에 그것도 기가비트 포트에 물려있는데 보장되어야 할 속도가 나오지 않는다 의심될때 가장 먼저 해봐야 할일은 실제 통신 속도를 측정하는 일일 것입니다.

정말 간단하게 테스트하고 싶다면 어떤 방법이 있을까요? 여기에 정말 좋은 솔루션이 있습니다. 그것도 무료네요.

http://sourceforge.net/projects/iperf/

iperf는 두대의 서버 사이에 한대는 서버, 한대는 클라이언트로 접속하여 속도를 측정합니다.
다음과 같이 설치를 하도록 합니다. 이 글을 쓰는 시점에서는 2.0.4가 최신버젼입니다만 적정한 최신 버젼을 사용하시면 됩니다.

[code bash]> tar -zxvf iperf-2.0.4.tar.gz
> cd iperf-2.0.4
> ./configure
> make; make install[/code]
이제 두대의 서버간의 속도를 측정해 보도록 하겠습니다.

* 서버 실행하기

[code]> iperf -s
————————————————————
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
————————————————————[/code]
* 클라이언트 실행하기

[code]iperf -c 192.168.0.2
————————————————————
Client connecting to 192.168.0.2, TCP port 5001
TCP window size: 16.0 KByte (default)
————————————————————
[  3] local 192.168.0.3 port 55881 connected with 192.168.0.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.10 GBytes    942 Mbits/sec[/code]

위의 결과를 통해 두 서버간의 통신속도는 942 Mbit/sec 라는것을 알았습니다. 기가비트 포트의 속도가 거의 보장되고 있었네요^^