ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Суббота, 19 апреля, 2025
Сегодня у нас 1 праздник:
В 1931 году в Москве родился Андрей Петрович Ершов (1931–1988), выдающийся программист и математик, академик, автор первой в мировой практике монографии по автоматизации программирования.

Как отслеживать задержку сети в Linux с помощью Ping, Mtr и Smokeping

Как отслеживать задержку сети в Linux с помощью Ping, Mtr и Smokeping

Задержка в сети — это время, которое требуется для передачи данных между вашим компьютером и удалённым сервером. Высокая задержка может приводить к медленному просмотру веб-страниц, задержкам в играх и сбоям в работе облачных сервисов. Если вы используете Linux, у вас уже есть полезные инструменты для измерения и мониторинга задержки в сети в реальном времени или в течение длительного периода.

В этой статье мы объясним, как:

 

Все инструменты бесплатны и доступны в большинстве дистрибутивов Linux.

 

Что такое задержка в сети?

Задержка обычно измеряется в миллисекундах (мс). Она представляет собой время, за которое небольшой пакет данных покидает ваш компьютер, достигает целевого сервера и возвращается обратно.

Общие значения задержки:

 

Проверьте Задержку В Сети С Помощью команды ping

Самый простой способ проверить задержку — использовать команду ping . Команда ping отправляет пакеты ICMP Echo Request на целевой объект (например, веб-сайт или сервер) и измеряет время прохождения (RTT) — время, необходимое для получения ответа.

Команда ping — это мощный инструмент для измерения задержки в сети в Linux. Анализируя минимальную/среднюю/максимальную задержку, потерю пакетов и дрожание, вы можете диагностировать проблемы с подключением.

 

Базовый пример:

ping google.com

 

Это многократно отправляет пакеты на google.com.

Вы увидите результат, подобный:

PING google.com(maa03s36-in-x0e.1e100.net (2404:6800:4007:814::200e)) 56 data bytes
64 bytes from maa03s36-in-x0e.1e100.net (2404:6800:4007:814::200e): icmp_seq=1 ttl=59 time=16.1 ms
64 bytes from maa03s36-in-x0e.1e100.net (2404:6800:4007:814::200e): icmp_seq=2 ttl=59 time=17.3 ms

 

Приведенная выше команда будет выполняться до тех пор, пока вы вручную не остановите ее нажатием CTRL+C.

Здесь,

 

Отправьте только 5 Пингов:

ping -c 5 google.com

 

Это отправляет 5 запросов на эхо-ответ в google.com и останавливается. На выходе отображается задержка для каждого ответа.

PING google.com(maa03s36-in-x0e.1e100.net (2404:6800:4007:814::200e)) 56 data bytes
64 bytes from maa03s36-in-x0e.1e100.net (2404:6800:4007:814::200e): icmp_seq=1 ttl=59 time=15.4 ms
64 bytes from maa03s36-in-x0e.1e100.net (2404:6800:4007:814::200e): icmp_seq=2 ttl=59 time=16.3 ms
64 bytes from maa03s36-in-x0e.1e100.net (2404:6800:4007:814::200e): icmp_seq=3 ttl=59 time=17.2 ms
64 bytes from maa03s36-in-x0e.1e100.net (2404:6800:4007:814::200e): icmp_seq=4 ttl=59 time=18.2 ms
64 bytes from maa03s36-in-x0e.1e100.net (2404:6800:4007:814::200e): icmp_seq=5 ttl=59 time=69.2 ms

--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 15.362/27.250/69.246/21.019 ms

 

Здесь,

 

Сводная статистика команды ping

--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 15.362/27.250/69.246/21.019 ms

 

Статистика пакетной передачи:

 

Статистика времени в пути туда и обратно (RTT):

Это показывает задержку (delay) в миллисекундах (мс).:

 

Согласно приведенной выше статистике, мы можем интерпретировать следующее:

 

Расширенные команды Ping для тестирования сети

A. Предельное количество пингов (-c)

ping -c 5 google.com  # Отправляет только 5 пакетов

 

B. Изменить размер пакета (-s)

ping -s 1000 google.com # Отправляет пакеты по 1000 байт

 

C. Более быстрые запросы (-i)

ping -i 0,2 google.com # Отправляет запрос каждые 0,2 секунды

 

D. Регистрация временных меток (-D)

ping -D google.com >> ping_log.txt # Журналы с отметками времени

 

E. Непрерывный пинг для мониторинга

ping google.com   # Выполняется до тех пор, пока не будет остановлен вручную (Ctrl + C)

Анализ задержки в сети с помощью mtr (Ping + Traceroute)

mtr показывает, как пакеты перемещаются по сети. Сочетает в себе функции ping и traceroute. Для тех, кто не знает, mtr расшифровывается как Mtraceroute.

Вы можете использовать mtr, когда;

 

Установите mtr инструмент в вашу систему Linux с помощью команды:

sudo apt install mtr         # Debian/Ubuntu
sudo dnf install mtr         # Fedora

 

Теперь проанализируйте задержку в сети с помощью команды:

mtr google.com

 

При этом отображается оперативная таблица переходов, задержек и потери пакетов.

Анализируйте задержку в сети с помощью mtr

Анализируйте задержку в сети с помощью mtr

 

Вы также можете сгенерировать отчет:

mtr -c 100 -r google.com > report.txt

 

Другие полезные опции:

 

Контролируйте задержку в сети с течением времени с помощью smokeping

Для отслеживания задержек в прошлом используйте smokeping. Он работает в фоновом режиме и сохраняет графики, которые вы можете просматривать в браузере. Обратите внимание, что для просмотра графиков этому инструменту требуется веб-сервер, например Apache или Nginx.

Копчение полезно для,

 

Для установки smokeping в системах на базе Debian используйте следующую команду:

sudo apt install smokeping apache2

 

После установки отредактируйте целевой файл:

sudo nano /etc/smokeping/config.d/Targets

 

Добавьте раздел, подобный:

+ Google
menu = Google DNS
title = Google Ping
host = 8.8.8.8

 

Перезапустите службу отслеживания дыма:

sudo systemctl restart smokeping

 

Затем откройте веб-браузер и перейдите по адресу http://localhost/smokeping.

Вы увидите графики задержки и потери пакетов.

Контролируйте задержку в сети с помощью smokeping

Контролируйте задержку в сети с помощью smokeping

 

Нажмите на каждую ссылку в левой панели, чтобы просмотреть соответствующий график.

 

Устранение неполадок С высокой задержкой и потерей пакетов

Если результаты вашего пинга показывают высокую задержку или потерю пакетов, попробуйте следующие способы устранения неполадок:

1. Проверьте ваше интернет-соединение

 

2. Сравните различные цели

ping google.com
ping facebook.com

 

Если только на одном сайте наблюдается высокая задержка, проблема, скорее всего, на их стороне.

 

3. Используйте Traceroute для поиска сетевых переходов

traceroute google.com  # Показывает задержку каждого перехода

 

Высокая задержка на определенном этапе перехода? Это узкое место.

 

4. Проверьте, нет ли проблем с интернет-провайдером

Обратитесь к своему провайдеру, если несколько сайтов имеют высокую задержку.

 

Заключение

Измерить задержку сети в Linux несложно, если знать, какие инструменты использовать. Начните с ping для быстрых тестов. Используйте mtr для устранения неполадок на конкретных маршрутах. Разверните smokeping для получения визуальных отчётов с течением времени.

С помощью этих инструментов вы можете:

 

На этом пока всё. Какие инструменты вы используете для измерения и мониторинга задержки в сети? Пожалуйста, поделитесь в комментариях ниже.

Exit mobile version