Тест MTR на Mac OS
MTR объединяет ping и traceroute в одной утилите. Она отправляет тестовые пакеты к конечному узлу и показывает задержку и потери пакетов на каждом маршрутизаторе (хопе) по пути. Так видно, где начинается сетевая проблема: в вашей локальной сети, у провайдера, у транзитного оператора или рядом с сервером.
Поддержка INTROSERV часто просит отчёт MTR, когда клиент сообщает о низкой скорости, лагах или потерях пакетов. В этой инструкции показано, как установить MTR в macOS, запустить тест и сохранить отчёт. В Windows используйте WinMTR, см. Проверка канала с помощью WinMTR.
Установите Homebrew
В macOS нет встроенного MTR, поэтому установите его через менеджер пакетов Homebrew. Если Homebrew уже установлен, пропустите этот шаг..
Откройте приложение Terminal и выполните команду установки с официального сайта Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Установщик запросит пароль пользователя macOS и может предложить установить Command Line Tools для Xcode. Подтвердите. В конце выполните инструкции из раздела Next steps в выводе: они добавляют Homebrew в PATH.
Проверьте установку:
brew --version
Установите MTR
Установите MTR:
brew install mtr
Homebrew устанавливает MTR в папку sbin внутри своего каталога: /opt/homebrew/sbin на Mac с процессорами Apple silicon и /usr/local/sbin на Mac с процессорами Intel. MTR нужны права администратора, чтобы отправлять тестовые пакеты, поэтому запускайте его через sudo с полным путём. Команда ниже находит путь автоматически:
sudo "$(brew --prefix)/sbin/mtr" --version
В выводе будет установленная версия MTR.
Запустите тест
Перед тестом отключите VPN на компьютере и по возможности подключите его кабелем вместо Wi-Fi. Так на результат не повлияют лишние факторы. Запустите MTR до вашего сервера, заменив YOUR_SERVER_IP на его IP-адрес или доменное имя:
sudo "$(brew --prefix)/sbin/mtr" -c 1000 YOUR_SERVER_IP
Параметр -c 1000 выполняет 1000 тестовых циклов, по одному в секунду, и собирает статистику по каждому хопу. Длинный тест даёт более показательную картину потерь, но занимает около 17 минут. Для быстрой проверки можно использовать -c 100, но в поддержку отправляйте результат полного теста.

Во время теста MTR обновляет таблицу на экране. Чтобы остановить тест до завершения всех 1000 циклов, нажмите q.
Сохраните отчёт
Чтобы отправить результаты в поддержку, запустите MTR в режиме отчёта и сохраните вывод в файл:
sudo "$(brew --prefix)/sbin/mtr" -r -c 1000 -w YOUR_SERVER_IP > mtr-report.txt
Параметр -r включает режим отчёта, а параметр -w показывает в отчёте полные имена узлов, не обрезая их. В режиме отчёта экран остаётся пустым до конца теста. Когда команда завершится, файл mtr-report.txt сохранится в текущей папке. Если вы только что открыли Terminal, обычно это ваша домашняя папка. Приложите его к обращению в поддержку.
Чтобы проверить маршрут в обоих направлениях, также запустите MTR с сервера до вашего компьютера. См. Диагностика сетевых проблем.
Как читать результаты
Каждая строка таблицы соответствует одному хопу на маршруте, последняя строка соответствует конечному узлу. Основные столбцы:
- Loss% показывает долю пакетов, на которые не пришёл ответ;
- Snt показывает число отправленных пакетов;
- Last, Avg, Best и Wrst показывают задержку последнего пакета, среднюю, лучшую и худшую задержку в миллисекундах;
- StDev показывает, насколько сильно меняется задержка.
Потери на одном промежуточном хопе, которые не продолжаются на следующих хопах, обычно не являются проблемой: многие маршрутизаторы обрабатывают тестовые пакеты с низким приоритетом или ограничивают частоту ответов. Если потери начинаются на одном хопе и продолжаются на следующих хопах вплоть до конечного узла, это может указывать на потерю пакетов на маршруте начиная с этой точки. Резкий рост задержки, который сохраняется на следующих хопах и на конечном узле, может указывать на задержку или перегрузку на маршруте начиная с этой точки.