Как проверить скорость интернета через терминал?

314

Вместо того, чтобы переходить на сайты, такие как speedtest.net или другие, я хочу проверить текущую скорость Интернета с терминала на Ubuntu , Как я могу это сделать?

    
задан kernel_panic 16.02.2012 в 15:24
источник

11 ответов

479

Я рекомендую инструмент speedtest-cli для этого. Я создал сообщение в блоге ( Измерение скорости подключения к Интернету из Linux Command Line ), которая подробно описывает загрузку, установку и использование.

Короткий вариант: (не требуется root)

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
источник
72

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

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

попробуйте это тоже

sourceforge.net/projects/tespeed/

получил его по ссылке выше

    
ответ дан Tachyons 16.02.2012 в 15:57
источник
42

Если вы не можете беспокоиться об установке 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 для него. Этот маленький инструмент прекрасно сообщает мне, какую скорость у меня есть.

Чтобы использовать его, просто указывайте на файл в Интернете, который является относительно большим, чтобы вы могли лучше оценить его.

Например

typing: 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
источник
14

Так как speedtest-cli является приложением python, его гораздо проще установить, выполнив следующие действия:

pip install speedtest-cli

или

easy_install speedtest-cli

В зависимости от того, как Python установлен в вашей системе, вам может понадобиться root, чтобы сделать это.

    
ответ дан BobC 02.12.2013 в 16:06
источник
3

Запустите несколько экземпляров команды wget с тайм-аутом для больших файлов:

#!/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 секунд, и вы получите цифру байтов / сек. Должно быть достаточно точным, и вы можете добавить больше экземпляров для максимальной пропускной способности.

Мне еще нужно проверить полный скрипт, но работает одиночная строка «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
источник
3

Мне нравится speedometer Ubuntu cli.

speedometer -r eth0

Чтобы посмотреть живой график скорости входящих данных.

    
ответ дан 6ft Dan 02.09.2016 в 23:22
источник
2

Простой сценарий bash, основанный на ответе @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; & amp; & amp; chmod u + x speedtest.sh & amp; & amp; & amp; bash speedtest.sh

    
ответ дан user385795 07.03.2015 в 19:17
источник
0

простой однострочный, который проверяет, сколько времени требуется для загрузки 100 МБ (также работает и с /bin/sh ):

t=$(date +"%s"); wget http://speedtest.netcologne.de/test_100mb.bin -O ->/dev/null ; echo -n "MBit/s: "; expr 8 \* 100 / $(($(date +"%s")-$t))

объяснение:

  1. сохранить метку времени в $ t
  2. скачать 100mb, но ничего не хранить
  3. рассчитать 8 * 100mb / $t

Примечание.
Ссылка дает более быструю загрузку, поэтому кажется, что < a href="http://speedtest.netcologne.de"> Ссылка предлагает только 30 Мбит / с.

Проблема в моей консоли OpenWRT заключается в том, что я не могу получить доступ к speedtest.tweak.nl, который является странным

Чтобы проверить подключение ipv6, используйте Ссылка

    
ответ дан rubo77 29.08.2015 в 09:29
источник

Ознакомьтесь с другими вопросами по меткам