Як перевірити інтернет-швидкість через термінал?

355

Замість того, щоб йти на такі сайти, як speedtest.net , я хочу перевірити мою поточну швидкість Інтернету з терміналу на Ubuntu. Як це зробити?

    
задане kernel_panic 16.02.2012 в 15:24
джерело

11 відповідей

560

Я рекомендую speedtest-cli для цього. Я створив повідомлення в блозі ( Вимірювання швидкості підключення до Інтернету з Командний рядок Linux ), що поглинає деталі завантаження, встановлення та використання.

Коротка версія: (потрібен не потрібний корінь)

curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -

Вихід:

Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Comcast Cable (x.x.x.x)...
Selecting best server based on ping...
Hosted by FiberCloud, Inc (Seattle, WA) [12.03 km]: 44.028 ms
Testing download speed........................................
Download: 32.29 Mbit/s
Testing upload speed..................................................
Upload: 5.18 Mbit/s

Оновлення в 2016 році:

speedtest-cli знаходиться в сховищах Ubuntu зараз. Для Ubuntu 16.04 (Xenial) і пізніше використовуйте:

sudo apt install speedtest-cli
speedtest-cli
    
відповідь дана mweisel 19.03.2013 в 09:11
джерело
78

спробуйте це в командному рядку

wget --output-document=/dev/null http://speedtest.wdc01.softlayer.com/downloads/test500.zip

спробуйте це теж

sourceforge.net/projects/tespeed/

отримав його з посиланням вище

    
відповідь дана Tachyons 16.02.2012 в 15:57
джерело
46

Якщо ви не можете турбуватися про встановлення iperf, ви можете передувати будь-якій команді, яка змінює відомому об'єму даних командою time і робить суму.

iperf простий і простий у використанні.

Для цього потрібен клієнт і сервер.

(на сервері)

 user@server$ iperf -s

(на клієнті)

 user@client$ iperf -c server.domain
 ------------------------------------------------------------
 Client connecting to 192.168.1.1, TCP port 5001
 TCP window size: 16.0 KByte (default)
 ------------------------------------------------------------
 [  3] local 192.168.1.3 port 52143 connected with 192.168.1.1 port 5001
 [ ID] Interval       Transfer     Bandwidth
 [  3]  0.0-10.0 sec    113 MBytes  94.7 Mbits/sec

Детальніше

    
відповідь дана One Zero 16.02.2012 в 16:21
джерело
31

Ну, я використовую wget для нього. Цей маленький інструмент добре розповідає, якою швидкістю я маю.

Для того, щоб використовувати його, просто вкажіть на файл в Інтернеті, який є відносно більшим, щоб ви могли краще оцінити його.

Наприклад

набравши: wget http://hostve.com/neobuntu/pics/Ubu1.avi почне завантажувати файл Ubu1.avi і покаже, з якою швидкістю він завантажується.

Звичайно, є кілька рекомендацій:

  1. Швидкість перевірки себе належними серверами. У випадку мого посилання швидкість становить менше 200 КБ, тому, якщо ви маєте більшу швидкість, сервер буде для вас вузьким місцем, а не вашою реальною швидкістю.

  2. Найвища швидкість, яку ви побачите, - це максимальна швидкість, яку може запропонувати ваше з'єднання та з'єднання з сервером. Якщо ваше з'єднання становить 512 Кб, а місце, де ви завантажуєте, становить 400 КБ, максимальне з'єднання буде 400 КБ, тому що це максимум для сервера, з якого ви завантажуєтесь.

  3. Ви повинні зробити тест принаймні 5 разів, щоб отримати надійну перевірку швидкості, або, принаймні, виконати її протягом хвилини або двох. Це допоможе вам точніше перевірити.

  4. Для отримання точнішої швидкості потрібно мати щонайменше 4 або 5 різних джерел тестування. Ніколи не проводьте тестування лише з того самого сайту, на який це може вплинути ваша відстань до неї, будь-яка проблема на сервері та підключення до нього тощо. Завжди перевіряйте з різних серверів.

ARIA2

Це альтернатива wget . Недоліком wget є відсутність паралельних з'єднань. Для використання aria2 ми купуємо, потрібно завантажити його:

   sudo apt-get install aria2

Для простоти використання:

На зображенні -x 4 визначається, скільки паралельних з'єднань ми хочемо використовувати. Параметр CN у наступному рядку показує, скільки активних паралельних з'єднань було дозволено завантажувати з цього сайту. У цьому випадку CN становить 4. Але якщо ми намагалися мати більше зв'язків, ми отримали б щось таке:

Ми встановили 8 паралельних з'єднань, але сайт дозволив максимум 5, як показано на CN: 5. Це може бути вирішено за допомогою опції -j , яка повідомляє aria2c максимальні одночасні з'єднання, які ми хочемо (які за замовчуванням дорівнюють 5), але якщо сервер обмежив це, -j не буде працювати.

    
відповідь дана Luis Alvarado 16.02.2012 в 16:12
джерело
18

Оскільки speedtest-cli - це програма python, її можна встановити набагато легше:

pip install speedtest-cli

або:

easy_install speedtest-cli

Залежно від способу встановлення Python у вашій системі, вам може знадобитися root, щоб виконати вказане вище.

    
відповідь дана BobC 02.12.2013 в 16:06
джерело
5

Мене, як сподобалося speedometer Ubuntu cli.

speedometer -r eth0

Щоб переглянути живий графік швидкості вхідних даних.

    
відповідь дана 6ft Dan 02.09.2016 в 23:22
джерело
3

Запустіть декілька екземплярів wget з командою timeout у великих файлах:

#!/bin/bash

timeout 5 wget -q url_1/100MB.zip &
timeout 5 wget -q url_2/file.zip &
timeout 5 wget -q url_3/sample.mov &
timeout 5 wget -q url_4/speech.mp4 &

А потім напишіть скрипт, щоб обчислити завантажені загальні байти і розділити 5 секунд, коли ви отримаєте байт / сек. Має бути досить точним, і ви можете додати більше примірників, щоб максимально збільшити пропускну здатність.

Я ще не протестував повний сценарій, але команда single-line "timeout 5 wget url" працює, і в результаті ви отримуєте частково завантажений файл (якщо 5 секунд недостатньо для завершення завантаження).

    
відповідь дана rexis 20.09.2013 в 04:29
джерело
3

Ви можете використовувати tespeed . це тест швидкості мережі терміналу, який використовує сервери з Speedtest.net . Він використовує найближчий тестовий сервер, але також може використовувати його вручну, вказаний користувачем.

 git clone git://github.com/Janhouse/tespeed.git
 cd tespeed
 git submodule init
 git submodule update
 ./tespeed.py 

Для отримання додаткової інформації використовуйте:

 ./tespeed.py  -h

він забезпечить більший вибір для тестування швидкості.

    
відповідь дана pl_rock 12.09.2015 в 08:08
джерело
2

Простий баш-скрипт на основі відповіді @rexis. Ви можете поставити власні посилання для тестування в масиві links або прочитати їх з файлу

#!/bin/bash
export LC_ALL=C  #make output in English eg for later use with "du | grep"

TMP_PATH=/tmp/speedtest_data/
TEST_TIME=5

rm -rf $TMP_PATH && mkdir $TMP_PATH

links=("http://client.cdn.gamigo.com/bp/eu/com/110a/BPClientSetup-2b.bin" "http://client.cdn.gamigo.com/bp/eu/com/110a/BPClientSetup-1b.bin" "http://client.cdn.gamigo.com/bp/eu/com/110a/BPClientSetup-1c.bin" "http://ftp.ntua.gr/pub/linux/ubuntu-releases-dvd/quantal/release/ubuntu-12.10-server-armhf+omap.img" "http://ftp.funet.fi/pub/Linux/INSTALL/Ubuntu/dvd-releases/releases/12.10/release/ubuntu-12.10-server-armhf+omap.img" "http://ftp.icm.edu.pl/pub/Linux/opensuse/distribution/13.2/iso/openSUSE-13.2-DVD-x86_64.iso")

echo "Testing download"

for link in ${links[*]}
do
    timeout $TEST_TIME wget -q -P $TMP_PATH $link &
done

wait

total_bytes=$(du -c $TMP_PATH | grep total | awk '{print }')

echo "Cleaning up"
rm -rf $TMP_PATH

speed=$(expr $total_bytes / $TEST_TIME)

echo "Speed is $speed Kb/s"

exit 0
    
відповідь дана Darkside 24.03.2015 в 13:28
джерело
0

Ви також можете спробувати тут

Для запуску тесту швидкості вони використовують curl (це відома утиліта командного рядка).

Коротко

wget тут & amp; & amp; chmod u + x speedtest.sh & amp; & amp; bash speedtest.sh

    
відповідь дана user385795 07.03.2015 в 19:17
джерело
0

простий вкладиш, який перевіряє тривалість завантаження 100 МБ (працює також на /bin/sh ):

t=$(date +"%s"); wget http://speedtest.tele2.net/100MB.zip -O ->/dev/null ; echo -n "MBit/s: "; expr 8 \* 100 / $(($(date +"%s")-$t))

пояснення:

  1. зберігати мітку часу в $ t
  2. завантажте 100 Мб, але нічого не зберігайте
  3. обчислення 8 * 100mb / $t
відповідь дана rubo77 29.08.2015 в 09:29
джерело

Ознайомтеся з іншими питаннями з міткою