SPA Tutorial MongoDB Monitoring

Интерактивный туториал по средствам мониторинга и отладки MongoDB

От мониторинга операционной системы до внутренней телеметрии WiredTiger и FTDC.

Прогресс прохождения0/5
На главную
🖥️
Уровень не завершён

Уровень 1 — Мониторинг операционной системы

Внешний слой: CPU, память, диск и сеть хоста, где запущен MongoDB

Цель уровня: Понять, не упирается ли MongoDB в ресурсы сервера раньше, чем проблема проявится в самой базе.

Теория

На этом уровне мы смотрим не на MongoDB напрямую, а на состояние Linux/Windows-хоста. Даже идеально настроенная база будет тормозить, если на сервере высокий iowait, не хватает памяти или сеть работает нестабильно.

Для MongoDB особенно важны задержки диска, свободная память, активность swap, загрузка CPU и сетевой трафик между клиентами, репликами и shard-компонентами.

Инструменты

top / htop

Показывают загрузку CPU, память, процессы mongod и фоновые пики нагрузки.

vmstat

Помогает увидеть переключения контекста, очередь процессов, swap и iowait.

iostat

Ключевой инструмент для оценки дисковой подсистемы: util, await, svctm, throughput.

sar

Исторические метрики CPU, памяти, сети и диска — полезны для ретроспективы.

ss / netstat

Проверка количества соединений, состояний TCP и сетевых очередей.

Ключевые метрики

CPU user/system/iowaitRAM и swapDisk await/util/read-write throughputNetwork bytes/s, retransmitsКоличество процессов и load average

Интерпретация результатов

Если iowait стабильно высокий, а util диска близок к 100%, база ограничена дисковой подсистемой.
Если система активно использует swap, MongoDB может резко деградировать по задержкам.
Если load average растёт вместе с CPU system и большим числом контекстных переключений, стоит искать конкуренцию за CPU или слишком много параллельных операций.

Практический блок

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

Найти процесс MongoDB
ps aux | grep mongod
Проверить нагрузку CPU и память
top -p $(pgrep -d',' mongod)
Оценить диск
iostat -xz 1
Проверить память и iowait
vmstat 1
Посмотреть сетевые соединения MongoDB
ss -tnp | grep 27017

Самопроверка

Ответьте на вопросы. Для прохождения уровня нужно правильно ответить на все.

1. Что обычно указывает на дисковое узкое место для MongoDB?

Пояснение: await показывает задержку I/O, а util — занятость устройства. Вместе они хорошо сигнализируют о проблемах диска.

2. Почему swap опасен для MongoDB?

Пояснение: Когда рабочий набор уходит в swap, доступ к данным становится значительно медленнее, и время ответа запросов растёт.

После проверки здесь появится результат.