Если во время бэкапа или тяжёлых запросов к БД сервер резко замедляется — скорее всего, дело в I/O wait. Процессы простаивают в ожидании диска, пока ресурс занят.
Как диагностировать:
iostat -x 1 5 — смотрим колонку %wa. Значение выше 20% — тревожный сигнал.iotop — покажет конкретные процессы, которые грузят диск прямо сейчас.strace -p PID — поможет выявить зацикленные системные вызовы у подозрительного процесса.Как лечить:
Снизить агрессивность записи грязных страниц в памяти:
echo 1000 > /proc/sys/vm/dirty_expire_centisecs
Расставить приоритеты для процессов через
ionice — например, понизить приоритет бэкапа, чтобы не мешал продакшну.Если проблема системная — переход на SSD кардинально меняет ситуацию.
Оптимизировать сами приложения: лишние запросы к диску, неиндексированные таблицы, запись без буферизации — всё это бьёт по I/O.
Главное правило: сначала измерить, потом лечить.
iostat и iotop дадут полную картину за пару минут.📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженера