Zamiast przechodzić do stron takich jak speedtest.net , chcę sprawdzić moją aktualną prędkość Internetu z terminala na Ubuntu. Jak mogę to zrobić?
command-line
internet
download-speed
kernel_panic
źródło
źródło
speedtest-cli
Używa tych samych serwerów (itp.) co SpeedTest.net. Powinieneś rozważyćspeedtest-cli
iwww.speedtest.net
być równoważne, tylko z innym interfejsem. Byłbym zaskoczony, jeśli konsekwentnie otrzymujesz znacząco różne wyniki, jeśli oba korzystają z tego samego serwera. Jeśli nie używają tego samego serwera, nie masz podstaw do porównania. Na koniec, moje wyniki dla obu narzędzi różnią się od 2 do 4 razy. Sugeruję przetestowanie 2-4 serwerów i wykonanie 3–4 uruchomień dla każdego serwera i porównanie narzędzi.Odpowiedzi:
Polecam do tego narzędzie speedtest-cli . Stworzyłem post na blogu ( Zmierz prędkość połączenia internetowego z wiersza poleceń systemu Linux ), który szczegółowo opisuje pobieranie, instalowanie i korzystanie z niego.
Krótka wersja to: (nie wymaga rootowania)
Wynik:
Aktualizacja w 2018 r .:
Użycie
pip install --user speedtest-cli
pozwala uzyskać wersję, która jest prawdopodobnie nowsza niż dostępna z repozytoriów Twojej dystrybucji.Aktualizacja w 2016 r .:
speedtest-cli
jest teraz w repozytoriach Ubuntu. W przypadku Ubuntu 16.04 (Xenial) i nowszych użyj:źródło
pip install speedtest-cli
lub:easy_install speedtest-cli
W zależności od tego, jak Python jest zainstalowany w twoim systemie, może być konieczne rootowanie, aby wykonać powyższe czynności.spróbuj tego w wierszu poleceń
spróbuj tego też
dostałem to z powyższego linku
źródło
/dev/null
oznacza skrót?wget --output-document=/dev/null http://speedtest.wdc01.softlayer.com/downloads/test500.zip
działa znacznie lepiej niż użyciespeedtset-cli
później wydaje się zawieszać, a ^ C nie przerywa polecenia. Z wget nie mam problemów z odcięciem pobierania pobierania ^ ^Jeśli nie możesz mieć kłopotów z instalacją iperf, możesz poprzedzić dowolne polecenie, które przesuwa znaną ilość danych za pomocą
time
polecenia i wykonać sumę.iperf jest prosty i łatwy w użyciu.
Wymaga klienta i serwera.
(na serwerze)
(na kliencie)
Więcej szczegółów
źródło
iperf
jest świetny dla sieci LAN, ale użytkownik pyta o WAN.Cóż, używam
wget
do tego. To małe narzędzie ładnie mówi mi, jaką mam prędkość.Aby go użyć, po prostu wskaż plik w Internecie, który jest stosunkowo większy, abyś mógł go lepiej oszacować.
Na przykład
pisanie:
wget http://hostve.com/neobuntu/pics/Ubu1.avi
rozpocznie pobieranie pliku Ubu1.avi i pokaże, z jaką prędkością jest pobierany.Oczywiście istnieje kilka zaleceń:
Sprawdź swoją szybkość dzięki dobrym serwerom. W przypadku mojego łącza prędkość jest mniejsza niż 200 KB, więc jeśli masz wyższą prędkość, serwer będzie dla ciebie wąskim gardłem, a nie twoją rzeczywistą prędkością.
Najwyższa prędkość, jaką zobaczysz, to maksymalna prędkość, jaką może zaoferować twoje połączenie i połączenie z serwerem. Jeśli twoje połączenie ma 512 KB, a miejsce, w którym pobierasz, to 400 KB, twoje maksymalne połączenie wyniesie 400 KB, ponieważ jest to maksimum dla serwera, z którego pobierasz.
Musisz wykonać test co najmniej 5 razy, aby mieć niezawodną kontrolę prędkości lub przynajmniej wykonać to przez minutę lub dwie. Pomoże to w dokładniejszym sprawdzeniu.
Musisz mieć co najmniej 4 lub 5 różnych źródeł testowania, aby uzyskać dokładniejszą prędkość. Nigdy nie testuj tylko z tej samej witryny, ponieważ może to mieć wpływ na odległość do niej, problemy na serwerze i połączenia z nim itp. Zawsze testuj z różnych serwerów.
ARIA2
To jest alternatywa dla
wget
. Minusemwget
jest brak równoległych połączeń. Aby skorzystać z aria2, musimy go najpierw pobrać:Korzystanie z niego jest proste:
Na zdjęciu -x 4 pokazuje, ile połączeń równoległych chcemy użyć. Parametr CN w następnym wierszu pokazuje, ile aktywnych połączeń równoległych mogło pobrać z tej witryny. W tym przypadku CN ma 4. Ale jeśli spróbujemy mieć więcej połączeń, otrzymamy coś takiego:
Ustawiliśmy 8 równoległych połączeń, ale strona zezwala tylko na maksymalnie 5, jak pokazuje CN: 5. Można to rozwiązać za pomocą opcji -j , która mówi aria2c, ile chcemy maksymalnych równoczesnych połączeń (domyślnie jest to 5), ale jeśli serwer to ograniczył, -j nie będzie działać.
źródło
wget
lepiej,curl
ponieważwget
wyświetlaMB/s
(bardzo jasne, że jest to MBytes / s), podczas gdycurl
wyświetla tylkok
(nie bardzo oczywiste, że jest to KBytes / s).Ponieważ speedtest-cli jest aplikacją pythonową, instalowanie jest znacznie łatwiejsze, wykonując:
lub:
W zależności od tego, jak Python jest zainstalowany w twoim systemie, może być konieczne rootowanie, aby wykonać powyższe czynności.
źródło
Zdarza mi się lubić
speedometer
Ubuntu cli.Aby obejrzeć na żywo wykres prędkości danych przychodzących.
źródło
Uruchom kilka instancji wget z poleceniem timeout na dużych plikach:
A potem napisz skrypt, aby obliczyć całkowitą liczbę pobranych bajtów i podzielić 5 sekund, a otrzymasz liczbę bajtów / sek. Powinny być dość dokładne i możesz dodać więcej wystąpień, aby zmaksymalizować przepustowość.
Nie przetestowałem jeszcze pełnego skryptu, ale polecenie jednowierszowe „limit czasu 5 wget url” działa, w wyniku czego otrzymujesz częściowo pobrany plik (jeśli 5 sekund nie wystarczy, aby zakończyć pobieranie).
źródło
timeout 5 wget http://speedtest.netcologne.de/test_100mb.bin -O /tmp/temp5sec
następnie przeanalizuj rozmiar pliku i podziel przez 5:expr $(stat --printf="%s" /tmp/temp5sec) / 5 / 1024
w kbit / smożesz użyć
tespeed
. jest to test prędkości sieci terminali, który korzysta z serwerówSpeedtest.net
. Używa najbliższego serwera testowego, ale może także użyć jednego ręcznie określonego przez użytkownika.Aby uzyskać więcej informacji, użyj:
zapewni więcej opcji testu prędkości.
źródło
lxml
prosty linijka, która sprawdza, ile czasu zajmuje pobranie 100 MB (działa
/bin/sh
również na ):t=$(date +"%s"); wget http://speedtest.tele2.net/100MB.zip -O ->/dev/null ; echo -n "MBit/s: "; expr 8 \* 100 / $(($(date +"%s")-$t))
wyjaśnienie:
8 * 100mb / $t
źródło
wget
nie wyświetlałem prędkości.Prosty skrypt bash oparty na odpowiedzi @rexis. Możesz umieścić własne linki do testowania w
links
tablicy lub odczytać je z plikuźródło
Aby wygodnie uzyskać prędkość pobierania w bitach na sekundę, w pliku $ HOME / .bash_aliases zdefiniowałem następujące elementy:
gdzie:
--output-document=/dev/null
skutecznie odrzuca wyjście wget--report-speed=bits
wyświetla średnią prędkość pobierania wget w bitach na sekundę (bps) zamiast domyślnych bajtów na sekundę (bps)źródło
Możesz również wypróbować http://dl.getipaddr.net
Używają curl (który jest dobrze znanym narzędziem wiersza poleceń) do uruchomienia testu prędkości.
W skrócie
wget https://raw.github.com/blackdotsh/curl-speedtest/master/speedtest.sh && chmod u + x speedtest.sh && bash speedtest.sh
źródło
Chciałem czegoś bardziej zaawansowanego niż speedtest.net i różnych rozwiązań, które opierają się wyłącznie na jednej stronie internetowej. Zrobiłem więc to, co zwykle, i napisałem własne rozwiązanie:
https://github.com/cubiclesoft/network-speedtest-cli
Z listy funkcji:
Jest to bardziej ogólne rozwiązanie, z którego mogą korzystać inne aplikacje. Udało mi się wskazać na problem z siecią ISP, który spowodował podwojenie mojej prędkości pobierania SFTP, co spowodowało większe szczęście.
źródło