Вместо того, чтобы заходить на такие сайты, как http://speedtest.net или другие, я хочу проверить свою текущую скорость интернета с терминала в Ubuntu. Как мне это сделать?
Позвольте мне начать с того, что "скорость вашего интернета" обычно не фиксируется.
Это зависит от пути между вашим концом соединения и другой конечной точкой. И на этом пути может быть формирование трафика, соединения с высокой пропускной способностью, более медленные каналы, перегрузка, соединения с низкой задержкой или каналы с высокой задержкой (спутниковый восходящий канал?) И т. Д., И совокупный эффект всех сегментов определяет, что эффективный "скорость", при этом сегмент с наименьшей пропускной способностью обычно является ограничителем пропускной способности, а время задержки является кумулятивным.
Но сказав это:
ethtool
предоставит согласованную / настроенную скорость соединения между Ethernet-устройством вашего Linux-сервера и любым другим устройством (обычно это порт коммутатора), к которому оно подключено:
ethtool eth0
Settings for eth0:
...
Speed: 1000Mb/s
Duplex: Full
...
Таким образом, скорость между моим сервером и коммутатором составляет 1 Гбит / с.
Это, конечно, даже не означает, что я получаю такую пропускную способность при загрузке данных исследований из Станция Макмердо на Антарктиде!
Другой инструмент iperf
который можно использовать для измерения максимальной производительности TCP / IP из командной строки. Вы можете использовать это, например, для измерения пропускной способности, которую вы получаете между вашим сервером и вашим шлюзом, а также между вашим сервером при следующем переходе от вашего шлюза к вашему интернет-провайдеру.
Инструмент cli для speedtest.net:
https://github.com/sivel/speedtest-cli
Другой вариант - измерить время загрузки большого файла (> 100 МБ) с заведомо быстрым сервером и рассчитать на его основе текущую пропускную способность. Некоторое время назад я написал плагин munin, который отлично справлялся с этим.
Хорошей отправной точкой является следующая команда:
time(wget –output-document=/dev/null http: /// files / downloadtest 2>/dev/null 1>&2)