안녕하세요 군산_꿀도깨비 입니다.
처음으로 소개할 운영에 필요한 프로그램인 iperf3를 사용할려고 합니다.
운영을 하다 보면 양쪽 클라이언트간 대역폭이 얼마나 나오는지 확인해야 할 때가 있습니다.
요즘 장비들은 다 1G를 사용하고 있지만 실질적으로 1G의 속도가 나오는지 확인 하기 어렵습니다.
서론이 길었고 사용하는 프로그램은 Iperf3 입니다.
download 하는 사이트는 아래와 같습니다.
https://iperf.fr/iperf-download.php
iPerf - Download iPerf3 and original iPerf pre-compiled binaries
iPerf - The ultimate speed test tool for TCP, UDP and SCTPTest the limits of your network + Internet neutrality test Table of contents : Download iPerf for Windows Download iPerf3 for Android Download iPerf3 for iPhone / iPad Download iPerf3 for Apple macO
iperf.fr
귀찮으즘으로 인한 테스트는 간소화 하겠습니다.
망 만들기 귀찮 ㅎㅎㅎ;;;;
클릭시 나오는 화면 입니다.
windows OS 사용자라면 windows 버전을
Mac OS 사용자라면 Mac 버전을
Linux OS 사용자라면 Linux 버전을
특히 Linux는 여러버전이 다르게 있어 반드시 확인을 하셔야 합니다.
보다보니 안드로이드 버전도 있네요;;;;
두번 download 하기 귀찮지만 어쩔수 없습니다.
두 곳의 PC가 한 쪽은 서버를 다른 한 쪽은 클라이언트를 만들어야 테스트가 가능 합니다.
[사실 전용회선 구간에 많이 사용하면 좋습니다.]
download 후 압축을 풀고 저는 위치를 C 드라이브 아래에 저장 했습니다. (쓸때마다 경로 변경의 귀찮음)
그리고 CMD 창을 열어 한쪽 PC는 서버 설정을
C:\iperf>iperf3 -s
다른 PC에서는 클라이언트 설정을 그리고 서버의 IP를 입력 하시면 됩니다.
C:\iperf>iperf3 -c 172.31.40.184
해당 클라이언트에서는 200Mbits/sec 정도 in/out 가능 한걸로 나옵니다.
서버에서는
서버에서는 받아만 주기때문에 receiver에서만 속도가 나오는 것을 알수 있습니다.
해당 옵션은 아래와 같다
New Features in iPerf 3.0 :
Dynamic server (client/server parameter exchange) – Most server options from iPerf2 can now be dynamically set by the client
Client/server results exchange
A iPerf3 server accepts a single client simultaneously (multiple clients simultaneously for iPerf2)
iPerf API (libiperf) – Provides an easy way to use, customize and extend iPerf functionality
-R, Reverse test mode – Server sends, client receives
-O, --omit N : omit the first n seconds (to ignore TCP slowstart )
-b, --bandwidth n[KM] for TCP (only UDP for IPERF 2): Set target bandwidth to n bits/sec (default 1 Mbit/sec for UDP, unlimited for TCP).
-V, --verbose : more detailed output than before
-J, --json : output in JSON format
-Z, --zerocopy : use a 'zero copy' sendfile() method of sending data. This uses much less CPU.
-T, --title str : prefix every output line with this string
-F, --file name : xmit/recv the specified file
-A, --affinity n/n,m : set CPU affinity (cores are numbered from 0 - Linux and FreeBSD only)
-k, --blockcount #[KMG] : number of blocks (packets) to transmit (instead of -t or -n)
-4, --version4 : only use IPv4
-6, --version6 : only use IPv6
-L, --flowlabel : set IPv6 flow label (Linux only)
-C, --linux-congestion : set congestion control algorithm (Linux and FreeBSD only) (-Z in iPerf2)
-d, --debug : emit debugging output. Primarily (perhaps exclusively) of use to developers.
-s, --server : iPerf2 can handle multiple client requests. iPerf3 will only allow one iperf connection at a time
하지만 잘 안쓸것 같다