Iperf ile yerel bir bağlantının bant genişliğini test etme
Iperf3, ağ bant genişliği testi için bir TCP ve UDP trafik oluşturucusu olan, platformlar arası bir konsol istemci-sunucu programıdır. Bir sunucu ve bir istemci arasındaki maksimum ağ bant genişliğini kolayca ölçmenizi ve bir ağ bağlantısında yük testi yapmanızı sağlar.
iperf3'ü https://iperf.fr/iperf-download web sitesinden indirebilirsiniz. Yardımcı programın farklı işletim sistemleri (Windows, macOS, Ubuntu, Debian, Mint, Fedora, Red Hat, CentOS, openSUSE, Arch Linux, FreeBSD) için indirilebilen sürümleri mevcuttur.
Android çalıştıran mobil cihazlar için Magic iPerf including iPerf3 uygulamasını kullanabilirsiniz.
Testi gerçekleştirmek için programın iki cihazda (bunlar bilgisayar, akıllı telefon veya tablet olabilir) çalıştırılması gerekir. Bunlardan biri sunucu, diğeri ise istemci olarak görev yapacaktır. Bağlantının bant genişliğini ölçmek için aralarında veri aktarımı yapılacaktır.
Önemli
Yerel ağ veri aktarım hızı ölçümlerinin doğruluğunu artırmak için aşağıdakileri öneririz:
— Testleri yaparken, yönlendiriciden tüm cihazların bağlantısını kesin ve yalnızca teste katılacak iki ana bilgisayarı bağlı bırakın.
— Testten önce, sunucu olarak görev yapacak olan cihazın yerel IP adresini belirleyin (bu işlem web arayüzünde, Cihaz Listesi sayfasında yapılabilir).
— Testten önce, yönlendirici ayarlarında cihazların fiziksel kanal hızını kontrol edin (Wi-Fi istemcileri için İstemci Listeleri sayfasında ve kablolu istemciler için Sistem Paneli sayfasında). Bağlantı, mümkün olan maksimum kanal hızlarına uygun olmalıdır. Örneğin, bir cihaz gigabit yönlendiriciye ağ kablosuyla bağlıysa, kategori 5e veya üzeri 4 çiftli (8 telli) bir kablo kullanmanız gerekir ve bağlantı 1G/FDX (1 Gbit/s, tam çift yönlü) olmalıdır. Düşük seviyeli modellerde bu, 100M/FDX (100 Mbit/s, tam çift yönlü) olmalıdır. Kanal hızı daha düşükse veya HDX modu (yarı çift yönlü) görüyorsanız, ara kablonun (Ethernet kablosu, bükümlü çift) standarda uygunluğunu kontrol edin, değiştirin ve ayrıca ağ bağdaştırıcısı ayarlarına bakın (hız sınırı modunun manuel olarak ayarlanıp ayarlanmadığını görmek için).
— Trafik önceliklendirmeyi kullanmayın. Trafik önceliklendirme kullanılıyorsa, hızlandırıcı trafik önceliklendirme ile çalışamadığı için donanım ağ hızlandırıcısı (ppe donanımı; hwnat) cihaz için devre dışı bırakılır. Hızlandırıcı devre dışı bırakıldığında hız düşebilir. İstemci Listeleri sayfasında, Trafik önceliği alanında, testte kullanılan cihazlar için değeri Normal (varsayılan) olarak ayarlayın.
— Teste katılan ana bilgisayarlarda, ağ üzerinden veri ileten tüm çalışan kullanıcı programlarını ve uygulamalarını kapatın.
— Etkinse, test sırasında ana bilgisayarlardaki güvenlik duvarını geçici olarak devre dışı bırakın veya ayarlarında iperf3 tarafından kullanılan portlardan trafiğe izin verin.
— Wi-Fi cihazlarıyla test yaparken, cihaz yönlendiricinin yakınında, en fazla 2 metre mesafede ve doğrudan görüş hattında bulunmalıdır.
— Testi birkaç kez gerçekleştirin. Varsayılan olarak, iperf3 istemciden sunucuya trafik aktarır, yani yukarı akış hızını ölçer. İstemcide -R anahtarını (Ters modu etkinleştirir) kullanarak aşağı akış hız testini (sunucudan istemciye) de çalıştırın.
Bir yönlendiriciye farklı hızlarda bağlı iki cihaz arasındaki bir bağlantının bant genişliğini ölçerken, elde edilen gerçek hız değerleri en yavaş bağlantı ile sınırlı olacaktır. Örneğin, bir ana bilgisayar 1 Gbit/s hızında ve diğeri 100 Mbit/s hızında bağlıysa, bant genişliği test edilirken hız 100 Mbit/s'yi geçmeyecektir.
Örnek 1. 4 çiftli bir ara kablo aracılığıyla bir Keenetic gigabit yönlendiriciye bağlı iki bilgisayar arasındaki yerel ağın bant genişliğini bulmanız gerektiğini varsayalım. Bizim durumumuzda, bilgisayarlar 1 ve 3 numaralı bağlantı noktalarına bağlıdır.

Sunucu olarak görev yapacak bilgisayarda, Windows komut satırında, iperf3 yürütülebilir dosyasının bulunduğu dizine gidin ve komutu çalıştırın:
iperf3 -s
Bilgisayarınızda Windows Güvenlik Duvarı etkinse, uygulamayı ilk başlattığınızda Windows Güvenlik Uyarısı penceresi görünecektir. iperf3 uygulamasının çalışacağı portu açmak için Erişime izin ver düğmesine tıklayın.


Uyarı
Sunucunun çalıştığı pencereyi kapatmayın.
İstemci olarak görev yapan bilgisayarda, testi başlatmak için aşağıdaki komutu çalıştırın:
iperf3 -c <iperf3_sunucu_adresi>
Örneğin:
iperf3 -c 192.168.1.143
10 saniye boyunca bu ana bilgisayarlar arasında trafik alışverişi yapılacak, ardından bağlantı sonlandırılacak ve test sonuçları görüntülenecektir. Örneğimizde, yerel gigabit bağlantısı için bant genişliği ölçümü 949 Mbit/sn idi. Bu durumda, bu değer 1 Gbit/sn'lik bağlantıdaki gerçek bağlantı hızıdır.

Dikkat
Varsayılan olarak, iperf3 programı istemciden sunucuya trafik aktarır, TCP protokolünü kullanır ve maksimum hızı sınırlamadan 10 saniye boyunca test gerçekleştirir.
100 Mbit/sn bağlantı noktalarına sahip bir yönlendirici aracılığıyla yerel ağın bant genişliğini ölçerken, gerçek hız 95,1 Mbit/sn idi.

Örnek 2. Wi-Fi ile bir Keenetic yönlendiriciye bağlı bir dizüstü bilgisayarın gerçek bağlantı hızını ölçmeye bir göz atalım. Örneğimizde, dizüstü bilgisayar yönlendiriciye 135 Mbit/sn kanal hızında bağlıdır.

Yönlendiriciye kabloyla bağlı olan ve sunucu olarak görev yapacak olan bilgisayarda (örneğimizde IP adresi 192.168.1.143), işletim sistemi komut satırında aşağıdaki komutu çalıştırın:
iperf3 -s
İstemci olarak görev yapan dizüstü bilgisayarda, testi başlatmak için aşağıdaki komutu çalıştırın:
iperf3 -c <iperf3_sunucu_adresi> -R
Ardından bu komutun sonucunu göreceksiniz. Bizim örneğimizde, yerel Wi-Fi bağlantısı için bant genişliği ölçümü yaklaşık 47 Mbit/sn'dir (kanal bağlantı hızı 135 Mbit/sn iken). Bu, bağlantının gerçek hızıdır.

Dikkat
Kablosuz bir bağlantıyı ölçerken, istemcideki gelen hızı test etmek için Ters Modu etkinleştirmeniz önerilir (bu durumda, sunucu veri iletir ve istemci alır). Komuta -R anahtarını ekleyin. Bir Wi-Fi bağlantısını test ederken, elde edilen hız değerlerinin önemli ölçüde farklılık gösterdiğini fark edebilirsiniz; bu normaldir ve Wi-Fi ağlarındaki veri iletiminin doğasından kaynaklanmaktadır.
Örnek 3. Wi-Fi ile bir Keenetic yönlendiriciye bağlı bir akıllı telefonda/tablette gerçek bağlantı hızını ölçmeyi ele alalım. Örneğimizde, akıllı telefon yönlendiriciye 200 Mbit/sn kanal hızında bağlıdır.

Sunucu olarak görev yapacak olan bilgisayarda (örneğimizde IP adresi 192.168.1.143), işletim sistemi komut satırında aşağıdaki komutu çalıştırın:
iperf3 -s
İstemci olarak görev yapan Android akıllı telefona Magic iPerf including iPerf3 uygulamasını yükleyin. Uygulamayı başlatın ve ekranın sol üst köşesindeki anahtarı iPerf3 konumuna getirin.
Şunun gibi bir komut kullanın:
-c <iperf3_sunucu_adresi> -R
Ekranın sağ üst köşesindeki anahtarı Başlatıldı konumuna getirerek testi başlatın.

Bu komutu çalıştırmanın sonucunu göreceksiniz. Örneğimizde, yerel Wi-Fi bağlantısının ölçülen bant genişliği yaklaşık 97 Mbit/sn idi (kanal bağlantı hızı 200 Mbit/sn iken). Bu, Wi-Fi istemcisinin gerçek bağlantı hızıdır.

Örnek 4. Wi-Fi ile bir Keenetic yönlendiriciye bağlı bir akıllı telefonda/tablette gerçek bağlantı hızını ölçelim. Örneğimizde, akıllı telefon yönlendiriciye 200 Mbit/sn'lik bir kanal hızında bağlıdır.

Ancak sunucu olarak Keenetic yönlendiricinin kendisi görev yapacaktır (yerel IP adresi 192.168.1.1'dir).
İpucu
iperf3 paketi, Açık Paket desteği bileşeni yüklendiğinde KeeneticOS yönlendirici işletim sisteminde mevcuttur.
Yönlendiricinin komut satırı arayüzüne (CLI) bağlanın ve iperf3 sunucusunu başlatmak için komutu çalıştırın:
exec iperf3 -s

İstemci olarak görev yapan Android akıllı telefona Magic iPerf including iPerf3 uygulamasını yükleyin. Uygulamayı başlatın ve ekranın sol üst köşesindeki anahtarı iPerf3 konumuna getirin.
Aşağıdaki komutu kullanın:
-c <iperf3_sunucu_adresi>
Ekranın sağ üst köşesindeki anahtarı Başlatıldı konumuna getirerek testi çalıştırın.

Örneğimizde, yerel Wi-Fi bağlantısının ölçülen bant genişliği yaklaşık 94 Mbit/sn idi (kanal bağlantı hızı 200 Mbit/sn iken). Bu, etkin bağlantı hızıdır.
Test sonuçlarını sunucu terminalinde de görebilirsiniz.

iperf3 komutunun sözdizimi
iperf3 komutunun sözdizimine ve temel (en sık kullanılan) seçeneklere bir göz atalım. Seçeneklerin tam ve güncel bir listesini geliştiricinin web sitesinde bulabilirsiniz.
Kullanım:
iperf3 [-s | -c ana_bilgisayar] [seçenekler]
Sunucu ve istemci için ortak seçenekler:
-p, --port # | sunucunun/istemcinin çalışacağı port numarası (varsayılan olarak |
-f, --format [kmgKMG] | test sonuçlarındaki hız formatı: |
-i, --interval # | test sonucu çıktıları arasındaki aralık, saniye cinsinden |
-V, --verbose | daha ayrıntılı bilgi çıktısı |
-d, --debug | ek hata ayıklama bilgisi çıktısı |
-v, --version | sürümü göster |
-h, --help | yardımı göster |
Ana sunucu seçenekleri:
-s, --server | sunucuyu başlatma ve bilgileri ekranda görüntüleme |
-D, --daemon | sunucuyu arka planda, ekranda bilgi görüntülemeden başlatma; program penceresi kapatıldıktan sonra bile çalışmaya devam edecektir |
Ana istemci seçenekleri:
-c, --client <ana_bilgisayar> | istemciyi başlatma ve |
-u, --udp | TCP yerine UDP protokolü |
-b, --bandwidth #[KMG][/#] | bit/sn cinsinden maksimum hız (0 - sınır yok); varsayılan olarak, TCP için hız sınırı yoktur ve UDP için 1 Mbit/sn'dir (toplu mod veri aktarımı için /# seçeneği) |
-t, --time # | saniye cinsinden test süresi (varsayılan |
-n, --bytes #[KMG] | aktarılacak bayt sayısı ( |
-l, --len #[KMG] | tampon boyutu (TCP için varsayılan 128 KB, UDP için 8 KB) |
-P, --parallel # | eşzamanlı istemci akışlarının sayısı |
-R, --reverse | ters mod: sunucu trafik gönderir, istemci alır. |
-4, --version4 | sadece IPv4 kullan |
-6, --version6 | sadece IPv6 kullan |
-Z, --zerocopy | CPU yükünü azaltmak için Sıfır Kopyalama teknolojisini kullanarak veri gönderme yöntemi |
-O, --omit N | ilk n saniyeyi atla (TCP yavaş başlatma algoritmasını yoksay) |
--get-server-output | sonuçları sunucudan al |
İşte farklı seçeneklerle iperf3 komutlarını kullanmanın bazı örnekleri:
Bir sunucu başlatma (varsayılan ayarlarla):
iperf3 -s
Bir istemci başlatma (varsayılan ayarlarla):
iperf3 -c 192.168.1.143
Örneklerimizde, 192.168.1.143, iperf3 sunucusunun IP adresidir.
Not
Bir sunucu aynı anda yalnızca bir istemciden bağlantı kabul edebilir. Sunucu başka bir istemci ile meşgulse, testi çalıştırmaya çalıştığınızda bir hata mesajı görünecektir: sunucu bir test yürütmekle meşgul. daha sonra tekrar deneyin. Bu durumda, sunucunun kullanılabilir olmasını beklemeniz gerekir.
Ancak, aynı ana bilgisayarda istemcilerin ve sunucuların birden çok örneğini çalıştırmak da mümkündür. Bunu yapmak için -p <port_numarası> anahtarıyla farklı portlar kullanın.
Örneğin, sunucuda iki komut istemi penceresi açabilir ve birinde aşağıdaki komutu çalıştırabilirsiniz:
iperf3 -s 5005 (sunucu, 5005 numaralı portta çalışıyor)
ve diğer pencerede:
iperf3 -s -p 5006 (sunucu, 5006 numaralı portta çalışıyor)
Şimdi, bir istemcide, 5005 numaralı bağlantı noktasında çalışan sunucuya bağlanmak için komutu çalıştırın:
iperf3 -c -p 5005 192.168.1.143
ve ikinci istemcide, 5006 numaralı bağlantı noktasında çalışan sunucuya bağlanmak için komutu çalıştırın:
iperf3 -c -p 5006 192.168.1.143
Daha ayrıntılı çıktıyla bir istemci başlatma:
iperf3 -Vc 192.168.1.143 iperf3 -c -V 192.168.1.143
Varsayılan olarak, iperf3 şu şekilde çalışır: sunucu veri alır ve istemci veri gönderir. İstemcideki gelen hızı test etmek için ters modu kullanmanız ve komuta -R anahtarını eklemeniz gerekir:
iperf3 -c 192.168.1.143 -R
Test süresini artırmak için (varsayılan 10 saniyedir), -t <sn> anahtarını kullanın:
iperf3 -c 192.168.1.143 -R -t 60
Araç, çok iş parçacıklı test modunu destekler. İş parçacığı sayısını belirtmek için -P <akışlar> anahtarını kullanın (bu örnekte test 2 iş parçacığında gerçekleştirilecektir):
iperf3 -c 192.168.1.143 -R -t 60 -P 2
Varsayılan ayarlarla test yaparken sonuçlar her saniye görüntülenir. -i <sn> anahtarını kullanarak sonuçların görüntülenme zaman aralığını değiştirebilirsiniz (bu örnekte aralık 3 saniyeye çıkarılmıştır):
iperf3 -c 192.168.1.143 -R -t 60 -P 2 -i 3
Test sırasında aktarılacak trafik miktarını da belirtebilirsiniz. Bunu yapmak için -t yerine -n <bayt>[KMG] anahtarını kullanın:
iperf3 -c 192.168.1.143 -R -n 500M -P 2 -i 3
Varsayılan olarak, test TCP protokolü kullanılarak gerçekleştirilir, ancak UDP protokol desteği de mevcuttur. Bunu kullanmak için -u anahtarını kullanın:
iperf3 -Vc 192.168.1.143 -u -R -t 60
TCP'den farklı olarak, UDP protokolü paket teslim kontrolü ve iletim hızı kontrol algoritmaları kullanmaz ve ağda farklı davranır. UDP veri iletim hızını kontrol etmediğinden, bu, trafiği ileten uygulama tarafından yapılmalıdır. Varsayılan olarak, UDP trafiği için maksimum hız sınırı 1 Mbit/sn olarak ayarlanmıştır. UDP protokolü için maksimum hızı çok yükseğe ayarlamayın, çünkü bu ağı aşırı yükleyebilir (bu parametreyi 100 Mbit/sn olarak ayarlamanızı öneririz). Maksimum hız sınırını -b <bit>[KMG] anahtarını kullanarak ayarlayabilirsiniz:
iperf3 -Vc 192.168.1.143 -u -R -t 60 -b 100M
Lütfen paket uzunluğunu ayarlayan -l <bayt> anahtarını da not alın. UDP modunda, bu parametreyi en fazla 1400 bayt olarak ayarlayın.
iperf3 -Vc 192.168.1.143 -u -R -t 60 -b 100M -l 1400