Testuj prędkość przesyłu danych w sieci LAN

Opublikowano
network

W ramach konfigurowania nowego routera w sieci domowej pojawił się pomysł, aby dokonać pomiaru prędkości przesyłu danych pomiędzy różnymi punktami. Wyniki pomiaru w końcu byłyby najlepszym wskaźnikiem pokazującym czy wprowadzenie konkretnych zmian w konfiguracji wpływa pozytywnie na prędkość działania sieci. Pozostawiam kwestię jakości połączenia, ilości utraconych pakietów itd. To pozostawiam na kolejny wpis.

Poniżej opiszę test prędkości połączenia WAN za pomocą speedtest.net, następnie test prędkości połączenia LAN za pomocą iperf3, a na końcu pokażę jak zainstalować iperf3 za pomocą Docker’a na przykładzie mojego NAS od Synology.

Prędkość sieci WAN

Do przeprowadzenia testu prędkości połączenia internetowego, najłatwiejszym narzędziem jest Speedtest.net. Jest dostępne poprzez stronę internetową lub jako natywne aplikacje, w tym dla iOS, Android, Mac OS, Windows, Apple TV, Chrome lub narzędzie do obsługi w terminalu.

Aby dokonać pomiaru wystarczy wcisnąć „Start” i poczekać aż test zostanie wykonany, a wyniki zaprezentowane na ekranie. Narzędzie automatycznie wyszukuje najbliżej zlokalizowany serwer, którego mógłby użyć do dokonania pomiaru.

Posiadając asymetryczne łącze 120 Mbps / 25 Mbps, wynik pomiaru dla połączenia WiFi wyszedł całkiem imponujący, który zamieszczam poniżej.

Test pomiaru prędkości połączenia WAN za pomocą Speedtest.net

Prędkość sieci LAN

Do pomiaru prędkości przesyłu danych w sieci LAN wykorzystać można iperf3. Jest to narzędzie CLI, czyli do użytku w terminalu, które należy zainstalować na obydwu maszynach, pomiędzy którymi ma być dokonany pomiar. Aby zainstalować w systemie Mac OS, można użyć brew wykonując polecenie:

brew install iperf3

Ustawienie jako serwer

W celu dokonania pomiaru, jedną z maszyn należy wykorzystać w roli serwera. W tym celu należy w terminalu, po uprzednim zainstalowaniu iperf3 wpisać polecenie:

iperf3 -s

Od tego momentu węzeł ten będzie nasłuchiwał i umożliwiał innym węzłom dokonanie pomiaru.

Ustawienie jako klient

Na dowolnej innej maszynie możemy już uruchomić narzędzie by dokonało pomiaru. W tym celu potrzebujemy adres IP maszyny działającej jako serwer. Możemy go zdobyć za pomocą narzędzia ifconfig dla listy wszystkich interfejsów lub ifconfig <interface> inet gdzie w miejscu <interface> należy wprowadzić nazwę szukanego interfejsu (dla WiFi będzie to przeważnie en0), czyli np. ifconfig en0 inet.

Teraz wystarczy uruchomić polecenie, uprzednio podmieniając adres na odpowiedni z poprzedniego kroku:

iperf3 -c <IP address>

Narzędzie wykona kilka prób transmisji danych, prezentując wynik na ekranie. Przykładowy wynik pomiaru zamieszczam poniżej:

Pomiar prędkości przesyłu danych za pomocą iperf3

Podsumowując, iperf3 jest bardzo proste w obsłudze i pozwala np. zweryfikować empirycznie wydajność sieci WiFi dla wybranych ustawień.

Konteneryzacja

W niektórych przypadkach przydatna może okazać się konteneryzacja przy użyciu Docker’a. Takie rozwiązanie pozwoliło mi zweryfikować prędkości przesyłu danych pomiędzy moimi stacjami roboczymi a NAS’em przy użyciu różnych połączeń, tj. WiFi oraz Ethernet.

W przypadku uruchomienia usługi w kontenerze Docker na NAS od Synology, wystarczy otworzyć aplikację Docker, zakładka Registry i wyszukać po frazie iperf3. Następnie pobrać networkstatic/iperf3.

Wyszukaj networkstatic/iperf3 w rejestrze

Po pobraniu otworzyć zakładkę Image, zaznaczyć iperf3, a następnie wybrać Launch. Pojawi się ekran na którym należy wprowadzić nazwę dla kontenera, a następnie kliknij w Advanced.

Następnie przejdź do zakładki Port Settings, gdzie należy zmienić ustawienia portu lokalnego na 5201 (port domyślny dla iperf3). Następnie, najważniejszy krok, to dopisanie w zakładce Environment w polu Command polecenia iperf3 networkstatic/iperf3 -s. To polecenie sprawia, że po uruchomieniu kontenera, aplikacja będzie pracować jako serwer narzędzia iperf3.

Dzięki powyższym krokom udało mi się uruchomić iperf3 w dockerze na NAS od Synology oraz przeprowadzić testy, które pozwoliły zoptymalizować połączenie i działanie serwera.

Pochwal się prędkościami osiągniętymi we własnej sieci w komentarzu.

Autor: macuser

Na co dzień pracuje jako iOS Developer, a w czasie wolnym uwielbia tworzyć muzykę w swoim domowym studio. Lubi czytać książki na temat psychologii, technik marketingu, oraz być ciągle na bieżąco z nowymi trendami w świecie technologii.