Iperf Tools Network Speed Testing
Iperf Network Hız Testi Programı ;
Arkadaşlar merhaba bu makalede sizlere ücretsiz olan ve point-to-point bağlantılar için bandwidth ve throughput değerlerinizi görmenizi ve ölçmenizi sağlayan iperf tools tan bahsedeceğim.
Eğer çok networklü bir şirket bünyesinde çalışıyorsanız ve yapınızda birden çok şube-merkez gibi alt networkler bulunuyorsa muhtemelen lokasyonlar ile aranızdaki bağlantı hızlarını zaman zaman test etmeniz gerekecektir eğer böyle bir ihtiyacınız varsa bu makale çok işinize yarayacak.
Yukarıda Enterprise ölçekli bir network topolojisi yer almaktadır burdada finasn ve insan kaynakları departmanlarını Hız ve bant genişliği açısından ağ performansını test etmek, hem üretim hem de üretim dışı ortamda bir standarttır.
Eğer merkezi bir noktadan bir uygulama yayını yapıyorsanız bu şirketin web browser üzerinden kullandığı IK uygulaması,ERP Uygulaması , SAP Uygulaması… ağa bağlı uygulama sunucularının dağıtımı için ayrıntılı bir hız ve bant genişliği analizi raporu gereklidir. Ayrıca bazen sorun giderirken ağ bağlantınızın hızını iki kez kontrol etmeniz gerekir. Tüm bunlar güvenilir bir ağ performans test aracını gerektirir.
IPERF, ağ performansını test etmek için kullanılabilecek açık kaynaklı bir araçtır. Iperf test sonuçlarında diğer birçok online ağ hız testi sağlayıcıları ile karşılaştırıldığında Server-Client ilişkisini kurduğundan dolayı çok daha güvenilirdir.
Bu kadar ön bilgiden sonra uygulamamızın nasıl çalıştığına aşağıdaki diagram üzerinden inceleyelim.
Ugulamamız küçük bir .exe den ibaret ve server-client mantığında çalışmakta bizim örneğimizde Location1 ve Location2 var bu iki nokta arasında Metro Ethernet ile verilmiş L2 bir bağlantı bulunuyor şimdi bu bağlantıyı test edeceğiz .
Linux Üzerine kurulum
Centos üzerine yapılan kurulumlarda epel reposu yüklenmelidir.
yum install epel-release yum update sudo apt install iperf3 #Debian/Ubuntu sudo yum install iperf3 #RHEL/CentOS sudo dnf install iperf3 #Fedora 22+
Eğer firewall açıksa ve ip tables kullanıyorsak aşağıdaki komutlar ip ilgili porta izin veriyoruz
iptables -A INPUT -p tcp --dport 5201 -j ACCEPT service iptables save service iptables restart
Windows Platformu üzerinde Kurulum
Dosyamızı indirmek için bu adrese gidiyoruz ve burada işletim sistemimiz için uygun olan sürümü indiriyoruz.
Ben burada windows 10 X64 ve 64 bit server üzerinde çalıştıracağım için son sürüm olan 64 bit versiyonu indiriyorum.İndirmiş olduğum dosyamı .rar dan çıkarıyorum ve server olacak ve client olacak makinelerimin c:/ sürücüsünün içerisine kopyalıyorum.
Şu an ki tabloda server ve client makinemde dosyama c:/iperf-3.1.3-win64 diyerek ulaşabiliyor olmalıyım.
Not : Burada hangisi server hangisi client olacak diye düşünmenize gerek yok çünkü bu işlemi exe dosyamızı çalıştırırken vereceğimiz parametre ile belirleyeceğiz.
Uygulamanın parametrelerini incelemek için aşağıdaki gibi help panelini inceleyebilirsiniz yada daha detaylı bir klavuz için bu adresten yararlanabilirsiniz.
C:\>iperf-3.1.3-win64>iperf3.exe -h Usage: iperf [-s|-c host] [options] iperf [-h|–help] [-v|–version] Client/Server: -f, –format [kmKM] format to report: Kbits, Mbits, KBytes, MBytes -i, –interval # seconds between periodic bandwidth reports -l, –len #[KM] length of buffer to read or write (default 8 KB) -m, –print_mss print TCP maximum segment size (MTU – TCP/IP header) -o, –output <filename> output the report or error message to this specified file -p, –port # server port to listen on/connect to -u, –udp use UDP rather than TCP -w, –window #[KM] TCP window size (socket buffer size) -B, –bind <host> bind to <host>, an interface or multicast address -C, –compatibility for use with older versions does not sent extra msgs -M, –mss # set TCP maximum segment size (MTU – 40 bytes) -N, –nodelay set TCP no delay, disabling Nagle’s Algorithm -V, –IPv6Version Set the domain to IPv6 Server specific: -s, –server run in server mode -D, –daemon run the server as a daemon -R, –remove remove service in win32 Client specific: -b, –bandwidth #[KM] for UDP, bandwidth to send at in bits/sec (default 1 Mbit/sec, implies -u) -c, –client <host> run in client mode, connecting to <host> -d, –dualtest Do a bidirectional test simultaneously -n, –num #[KM] number of bytes to transmit (instead of -t) -r, –tradeoff Do a bidirectional test individually -t, –time # time in seconds to transmit for (default 10 secs) -F, –fileinput <name> input the data to be transmitted from a file -I, –stdin input the data to be transmitted from stdin -L, –listenport # port to recieve bidirectional tests back on -P, –parallel # number of parallel client threads to run -T, –ttl # time-to-live, for multicast (default 1) Miscellaneous: -h, –help print this message and quit -v, –version print version information and quit
Server Makina :
Ben server olarak 192.168.2.0/24 networkündeki makinemi seçiyorum ve cmd.exe yi RunAs Administrator olarak çalıştırıyorum ve aşağıda görüldüğü gibi server uygulamam 5201 portu üzerinden dinlemeye başladı.
Client Makina :
Client Makine (10.0.0.0/24 networkü üzerinde bulunmakta) üzerinde de ilgili klasöre gidiyorum ve .exe mi aşağıdaki şekilde düzenliyorum.
C:\>iperf-3.1.3-win64>iperf3.exe -c C:\>iperf-3.1.3-win64>iperf3.exe -c 192.168.2.111
aşağıdaki gördüğünüz gibi bağlantım test edilmeye başlandı ve iki nokta arasında bağlantı hızı ortalama 8 Mbit/se çıktı.
Client terminalde gelen çıktı detaylıca aşağıdaki başlıklarda incelenebilir.
İnterval : Veri aktarımı için geçen süreyi belirler.
Transfer : Bu, Iperf testi kullanılarak aktarılan toplam veri boyutunu gösterir. Test tamamlandıktan sonra tüm veriler temizlendi.
Bandwith : Verilerin Mbit / saniye cinsinden aktarıldığı hız oranı.
Eğer 3 saniye aralıklarla toplam 30 saniye boyunca test etmek isterseniz çalıştırın ;
Server: C:\>iperf-3.1.3-win64>iperf3.exe –s Client: C:\>iperf-3.1.3-win64>iperf3.exe -c sunucuipadresi –i3 -t 30
Eğer 3 saniye aralıklarla toplam 3600 saniye(1 saat) boyunca Eş zamanlı paralel 3 istek göndererek test etmek isterseniz çalıştırın ;
Server: C:\>iperf-3.1.3-win64>iperf3 -s -B <Server IP> Client: C:\>iperf-3.1.3-win64>iperf3 -c <Server IP> -i 3 -t 3600 -P 3
Client UDP Performansını test etmek için
Server: C:\>iperf-3.1.3-win64>iperf3 –s Client: C:\>iperf-3.1.3-win64>iperf3 -c <Server IP> -u
UDP modunda hattın taşıyabileceği max datayı megabit cinsinden test etmek için
Server: C:\>iperf-3.1.3-win64>iperf3 –s Client: C:\>iperf-3.1.3-win64>iperf3 -c <Server IP> -u -b 1000m C:\>iperf-3.1.3-win64>iperf3 -c <Server IP> -d
Kullanılabilecek bazı parametlereler
——————————————–
-w = paket boyutu
-f = ölçüm türünün değiştirilmesi -f k = kilobits, -f m = megabits, -f M = megabytes
-i = ölçümler arası interval girer. -i 60 = her 60 saniyede bir değer ölçer. default değer 0
-t = ölçümün kaç saniye olacağını belirler. -t 30 = test 30 saniye sürer.
-p = portu değiştirir. bu değer server ve client tarafında aynı olmalı. default 5001, 5200, 5201, 5209
Hazırlayan
Serdar BAYRAM
güzel bir konuda yazmışsınız. Tebrikler.