Поиск по сайту:
Всякий раз, когда два программиста встречаются для критического анализа своих программ, они оба молчат. (Алан.Дж.Перлис)

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

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

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

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

  • Запустите простой тест задержки, используя команду ping
  • Отслеживание сетевых путей и обнаружение проблемных узлов с помощью mtr
  • Задержка графика с течением времени с использованием smokeping

 

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

 

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

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

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

  • <30 мс: Отлично (локальная сеть или оптоволокно)
  • 30-70 мс: Хорошо (обычная широкополосная связь)
  • 70–150 мс: приемлемо (небольшая задержка)
  • >150 мс: высокая задержка (может повлиять на производительность)

 

Проверьте Задержку В Сети С Помощью команды 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.

Здесь,

  • time=16.1 ms это задержка (в миллисекундах) для этого пакета.
  • Чем меньше, тем лучше. Значение ниже 100 мс характерно для большинства интернет-соединений.
Читать  Что такое Systemctl и как вы должны его использовать?

 

Отправьте только 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

 

Здесь,

  • time=15.4 ms это задержка для каждого пакета.
  • В итоге вы получите min/avg/max/mdev (минимум, среднее значение, максимум и стандартное отклонение).

 

Сводная статистика команды 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

 

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

  • 5 packets transmitted: было отправлено 5 пакетов ICMP-эхо-запроса.
  • 5 received: Все 5 пакетов получили ответ (ICMP Echo Reply).
  • 0% packet loss: Ни один пакет не был потерян (идеальные условия работы сети).
  • time 4005ms: Общее время, затраченное на тест (~ 4 секунды).

 

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

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

  • min (15,362 мс): самое быстрое время отклика.
  • avg (27,250 мс): среднее время отклика (наиболее важно для общей задержки).
  • max (69,246 мс): самое медленное время отклика.
  • mdev (21,019 мс)среднее отклонение (измеряет джиттер — колебания задержки).

 

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

  • Ваше подключение к Google работает.
  • Задержка в основном небольшая, но есть некоторое дрожание (колебания).
  • Нет потери пакетов — нет отброшенных пакетов.
  • Это приемлемо для просмотра веб-страниц и даже видеозвонков.
  • Если вы видите частые высокие значения mdev или packet loss, это признак нестабильности.
Читать  Как использовать ed (Стандартный редактор строк) в Unix / Linux

 

Расширенные команды 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

 

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

  • -T: используйте TCP вместо ICMP
  • -u: использовать UDP
  • -c: количество отправляемых пакетов

 

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

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

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

  • Долгосрочный мониторинг,
  • Характерные признаки (например, вечернее замедление),
  • Мониторинг нескольких серверов.
Читать  Как узнать, какую версию Linux вы используете

 

Для установки 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. Проверьте ваше интернет-соединение

  • Перезапустите свой маршрутизатор / модем.
  • Протестируйте с помощью проводного подключения (Wi-Fi может привести к задержке).

 

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

ping google.com
ping facebook.com

 

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

 

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

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

 

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

 

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

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

 

Заключение

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

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

  • Обнаружение медленных или отказывающих сетевых соединений,
  • Докажите, что проблема связана с вашим провайдером,
  • Отслеживайте закономерности задержек с течением времени.

 

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:



Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

**ссылки nofollow

Это может быть вам интересно


Рекомендуемое
Коды завершения, также известные как коды возврата или статусы завершения,…

Спасибо!

Теперь редакторы в курсе.