Pomiar prędkości internetu bezpośrednio z routera z OpenWrt

Czy zmagałeś się kiedyś ze zmierzeniem prawdziwej prędkości twojego internetu?
Każdy router jest inny, dodatkowo sieci bezprzewodowe WiFi są w różnych standardach, na różnych częstotliwościach oraz oferujące różne prędkości w zależności od czynników zewnętrznych.
Jeżeli nasz komputer posiada kartę, która obsługuje tylko 2.4GHz w prędkości 54Mbps, to możemy mieć 100, 200 lub więcej Mbps, i tak szybciej niż 54Mbps nie polecimy.
Niektóre sieci 2.4GHz mogą oferować nawet to 300Mbps. W przypadku 5GHz i prędkości idą w górę znacząco. To nie znaczy, że zawsze jesteśmy w stanie osiągnąć zaoferowaną prędkość.
Jeżeli mamy 3 urządzenia, które aktywnie korzystają z sieci WiFi, to przepustowość sieci, czyli maksymalne prędkości, jakie jesteśmy w stanie osiągnąć, jest również dzielona na trzy.
W związku z tym, aby prawidłowo zmierzyć prędkość internetu, należałoby podłączyć się bezpośrednio, najlepiej na kablu, do routera i być jednym jedynym użytkownikiem, dla którego cała przepustowość będzie dostępna.
Jeżeli posiadasz router z oprogramowaniem OpenWrt, to pomijając wszystkich użytkowników, możesz dokonań pomiaru prędkości łącza bezpośrednio z poziomu routera.
Sprawdzone w wersji OpenWrt 21.02 oraz OpenWrt 22.03
Test ten jest dużo bardziej wiarygodny, gdyż polega on na bezpośredniej komunikacji pomiędzy naszym urządzeniem a usługodawcą internetowym.
Pomijając ograniczenia na łączach międzynarodowych, metoda opisana poniżej może nam przedstawić najbardziej zbliżony do rzeczywistego wynik.
Najlepszą metodą na sprawdzenie prędkości w sieci jest przy użyciu iperf3, które zainstalujemy na naszym routerze następującą komendą:
opkg update
opkg install iperf3
To właśnie narzędzie iperf3 jest najczęściej używane do sprawdzenia prędkości w sieci lokalnej pomiędzy jednym komputerem a drugim.
Na jednym uruchamiamy serwer a na drugim klienta, z którego następuje pomiar.
Tę samą metodę można wykorzystać do sprawdzenia prędkości w Internecie.
Nie będziemy jednak stawiali serwera po drugiej stronie świata. W tym celu posłużymy się ogólnie dostępnymi serwerami służącymi do tego celu (Public iPerf3 servers).
Komenda
Oto moja komenda do sprawdzenia prędkości pobierania (Download):
iperf3 -c iperf.par2.as49434.net -4 -R -p 9223 -t 20
Oto moja komenda do sprawdzenia prędkości wysyłania (Upload):
iperf3 -c iperf.par2.as49434.net -4 -p 9223 -t 20
Opis komendy
Domyślnie, gdy uruchamiamy iperf3 testuje on prędkość wysyłania (upload). Dodając parametr -R
możemy odwrócić (reverse) metodę testowania z wysyłania (upload) na pobieranie (download).
Przy pomocy komendy -c
uruchamiamy program w trybie klienta, a adres iperf.par2.as49434.net
to nasz serwer.
Serwer możesz wybrać z Public iPerf3 servers
Gdy nasz internet domyślnie obsługuje tylko IPv4, wówczas precyzujemy to za pomocą parametru -4
. W przypadku IPv6 będzie to analogicznie -6
.
Każdy z serwerów na liście może pracować na innym porcie. Niektóre serwery oferują zakres portów. Aby sprecyzować port, używamy parametru -p
. W powyższym przykładzie portem jest 9223
Za pomocą parametru -t
precyzujemy, jak długo ma zająć pomiar prędkości. Domyślnie jest to 10 sekund, ja jednak z reguły wolę to wydłużyć do 20 sekund, stąd -t 20
.
Wyniki
Każdy z serwerów oferuje różną przepustowość, więc warto spróbować kilku w trakcie testów.
Czasami możemy się spotkać z odpowiedzią, że serwer jest za bardzo obciążony (Busy), lub też, że nasza próba została zablokowana (Connection refused). Wówczas należy spróbować inny serwer.
W moim przypadku, przy łączu 200Mbps prędkości pobierania (Download) otrzymałem:
Natomiast przy 20Mbps prędkości wysyłania (Upload):
Całkiem nieźle.
Mówię “całkiem”, gdyż jeżeli porównam te wyniki, chociażby z testem na speed.cloudflare.com, to mogę zauważyć wahania i różnice, w zależności z jakiej metody połączenia korzystam oraz ilu aktywnych użytkowników mam w sieci.
Aby ułatwić sobie sprawę testowania, warto utworzyć plik na routerze, który będziemy uruchamiać bez konieczności pamiętania całej komendy iperf3.
echo "iperf3 -c iperf.par2.as49434.net -4 -R -p 9223 -t 20" > speedtest4
chmod +x speedtest4
Uruchomienie:
./speedtest4
Pozdrawiam