- Мониторинг пропускной способности и скорости сети в Linux
- Speedtest
- Fast
- iPerf
- NetHogs
- nload
- CBM – Color Bandwidth Meter
- vnStat
- iftop
- slurm
- Как проверить скорость интернета из консоли Debian Linux
- Проверка скорости интернета из консоли Debian
- Благодарности
- Speedtest ® CLI
- Install Options
- Download Speedtest CLI
- macOS
- Windows
- Linux
- FreeBSD
Мониторинг пропускной способности и скорости сети в Linux
Сегодня в статье рассказываем про инструменты с открытым исходным кодом, которые позволяют вам проверить скорость вашего Интернета и пропускную способность в Linux.
Speedtest
Speedtest — старый фаворит. Это инструмент для проверки скорости загрузки и скачивания с использованием speedtest.net. Он реализован на Python, упакован в Apt, а также доступен с pip. Вы можете использовать его как инструмент командной строки или в скрипте Python.
sudo apt install speedtest-cli
sudo pip3 install speedtest-cli
Затем запустите его с помощью команды speedtest :
speedtest Retrieving speedtest.net configuration. Testing from CenturyLink (65.128.194.58). Retrieving speedtest.net server list. Selecting best server based on ping. Hosted by CenturyLink (Cambridge, UK) [20.49 km]: 31.566 ms Testing download speed. Download: 68.62 Mbit/s Testing upload speed. Upload: 10.93 Mbit/s
Это быстрая, и пригодная для скриптов утилита, поэтому вы можете запускать его регулярно и сохранять результаты в файл или базу данных для записи скорости вашей сети с течением времени.
Fast
Fast — это услуга, предоставляемая Netflix. Его веб-интерфейс расположен на Fast.com, а интерфейс командной строки доступен через npm:
npm install --global fast-cli
И веб-сайт, и утилита командной строки предоставляют один и тот же базовый интерфейс — это простой тест скорости, и ничего лишнего:
Команда показывает вашу скорость скачивания (download) через Интернет. Чтобы получить скорость загрузки (upload), используйте флаг -u :
fast -u ? 80 Mbps v / 8.2 Mbps ^
iPerf
iPerf (iPerf3) — отличный способ проверить скорость вашей локальной сети (а не скорость Интернета, как это делают два предыдущих инструмента). Пользователи Debian, Raspbian и Ubuntu могут установить его с помощью apt:
sudo apt install iperf [Debian/Ubuntu] yum install epel-release [RHEL/CentOS] yum install iperf3 [RHEL/CentOS]
iPerf также доступен в Window и Mac
После установки вам понадобятся два компьютера в одной сети, чтобы использовать его (на обоих должен быть установлен iPerf). Один мы будем использовать в качестве сервера.
ip addr show | grep inet.*brd
Запустите iperf на сервере:
Это компьютер входящих соединений от клиентов. Теперь запустите на втором компьютере iperf с флагом -c и укажите ip-адрес сервера.
NetHogs
NetHogs это утилита для проверки полосы пропускания, который группирует информацию по процессам. Это может быть полезно, чтобы понять кто занимает всю полосу пропускания. NetHogs входит во многие дистрибутивы. Для его установки используйте:
yum install epel-release [RHEL/CentOS] yum install nethogs [RHEL/CentOS] apt install nethogs [Debian/Ubuntu]
Вы можете указать определенный интерфейс после команды:
Также у команды есть дополнительные параметры, такие как выбор задержки для частоты обновления -d , информации о версии -V , tracemode -t .
nload
nload позволяет отслеживать сетевой трафик и использование полосы пропускания в режиме реального времени, с большим количеством дополнительной информации, такой как: общий объем передаваемых данных, минимальное и максимальное использование сети и многое другое. Также nload строит графики входящего и исходящего трафика.
- device — выбор интерфейса
- -a — промежуток в секундах, для подсчитывания среднего значения
- -i — стопроцентная планка на графике пропускной способности в kBit/s
- -m — отображение нескольких интерфейсов, без графика
- -t — интервал обновления в миллисекундах
- -u — режим отображения: Bit/s, kBit/s, MBit/s
Для установки используйте:
sudo apt install nload [Debian/Ubuntu] yum install epel-release [RHEL/CentOS] um install nload [RHEL/CentOS]
CBM – Color Bandwidth Meter
CBM — очень простой инструмент, который отображает сетевой трафик на всех подключенных устройствах. Удобство заключается в том, что команды отображаются в нижней части терминала.
Для установки используйте команду:
sudo apt install cbm -y [Debian/Ubuntu] yum install epel-release [RHEL/CentOS] yum install cbm [RHEL/CentOS]
После этого просто запустите:
vnStat
vnStat — это монитор сетевого трафика, который использует статистику сетевого интерфейса, предоставляемую ядром, что означает что он не будет перехватывать трафик и в результате гарантирует низкую загрузку ЦПУ. Особенность vnStst в том, что он сохраняет все данные в собственной базе.
vnStat также предоставляет веб-интерфейс на основе php для отображения графической статистики. Для настройки веб-интерфейса vnStat в вашей системе должны быть установлены пакеты Apache , php и php-gd .
Для установки используйте команду:
sudo apt install vnstat [Debian/Ubuntu] sudo yum install epel-release [RHEL/CentOS] sudo yum install vnstat [RHEL/CentOS]
iftop
iftop — это инструмент для мониторинга, который создает обновляемый список сетевых подключений между парами хостов в реальном времени.
Для установки используйте:
sudo apt install iftop [Debian/Ubuntu] yum install epel-release[RHEL/CentOS] yum install iftop [RHEL/CentOS]
Будет произведен запуск с мониторингом всех интерфейсов.
slurm
slurm — это еще один инструмент мониторинга сетевой нагрузки для linux, который показывает результаты в графике ascii.
sudo apt-get install slurm [Debian/Ubuntu] sudo yum install slurm -y [RHEL/CentOS]
Как проверить скорость интернета из консоли Debian Linux
Если сайты открываются плохо или медленно что-то скачивается первым делом проверяют скорость работы интернета. Проще всего это сделать прямо в браузере на популярных ресурсах https://www.speedtest.net/, https://www.nperf.com/ru/, https://yandex.ru/internet или https://2ip.ru/speed/.
Но если у вас сервер с операционной системой Linux без графического окружения, то воспользоваться браузером вы не сможете. К счастью на выручку к нам придут консольные утилиты.
Проверка скорости интернета из консоли Debian
Приведу пример как проверить скорость в Линукс на примере Debian и сторонней утилиты speedtest-cli, которая для тестирование использует популярный сервис speedtest.net. Повторюсь, что это не официальное приложение с сайта speedtest.net.
Установить консольную утилиту speedtest-cli просто, благо она есть в репозитооиях Debian 11:
Затем запустим ее, например так:
# speedtest-cli --secure --share
И получим следующий результат:
Retrieving speedtest.net configuration. Testing from Rostelecom (83.239.138.72). Retrieving speedtest.net server list. Selecting best server based on ping. Hosted by PJSC MTS (Volgograd) [25.13 km]: 40.312 ms Testing download speed. Download: 172.67 Mbit/s Testing upload speed. Upload: 113.36 Mbit/s Share results: http://www.speedtest.net/result/14631690116.png
Параметр —share подготовит ссылку на графическое изображение (картинку) с результатами тестирования скорости интернета.
Как видите проверить скорость интернета из консоли Линукс не так уж и сложно.
Благодарности
При написании статьи были использованы следующие источники:
Speedtest ® CLI
Speedtest CLI brings the trusted technology and global server network behind Speedtest to the command line. Built for software developers, system administrators and computer enthusiasts alike, Speedtest CLI is the first official Linux-native Speedtest application backed by Ookla ® .
With Speedtest CLI, you can easily:
- Measure internet connection performance metrics like download, upload, latency and packet loss natively without relying on a web browser
- Test the internet connection of your Linux desktop, a remote server or even lower-powered devices such as the Raspberry Pi ® with the Speedtest Server Network ™
- Set up automated scripts to collect connection performance data, including trends over time
- Use Speedtest in your programs by wrapping it in the programming language of your choice
- View test results via CSV, JSONL or JSON
Install Options
brew tap teamookla/speedtest
brew update
# Example how to remove conflicting or old versions using brew
# brew uninstall speedtest --force
# brew uninstall speedtest-cli --force
brew install speedtest --force
## If migrating from prior bintray install instructions please first.
# sudo rm /etc/apt/sources.list.d/speedtest.list
# sudo apt-get update
# sudo apt-get remove speedtest
## Other non-official binaries will conflict with Speedtest CLI
# Example how to remove using apt-get
# sudo apt-get remove speedtest-cli
sudo apt-get install curl
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash
sudo apt-get install speedtest
## If migrating from prior bintray install instructions please first.
# sudo rm /etc/yum.repos.d/bintray-ookla-rhel.repo
# sudo yum remove speedtest
## Other non-official binaries will conflict with Speedtest CLI
# Example how to remove using yum
# rpm -qa | grep speedtest | xargs -I <> sudo yum -y remove <>
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.rpm.sh | sudo bash
sudo yum install speedtest
sudo pkg update && sudo pkg install -g libidn2 ca_root_nss
# Example how to remove conflicting or old versions using pkg
# sudo pkg remove speedtest
# freeBSD 12 install
sudo pkg add "https://install.speedtest.net/app/cli/ookla-speedtest-1.2.0-freebsd12-x86_64.pkg"
# freeBSD 13 install
sudo pkg add "https://install.speedtest.net/app/cli/ookla-speedtest-1.2.0-freebsd13-x86_64.pkg"
Download Speedtest CLI
Speedtest CLI is maintained by the Ookla team. For assistance, please direct all inquiries to support@ookla.com.
macOS
Installing via brew will ensure you are always running the most up-to-date version of Speedtest CLI. You should update brew as frequently as possible.
Windows
Linux
Available for: i386, x86_64, arm32, arm32hf, and arm64.
FreeBSD
Available for x86_64 only.