админ локалхоста? • Админ любит prod и не любит staging. • Чтобы обрести славу среди коллег. • Можно придумать еще много других причин... Зачем это мне? 01 dataegret.com
«криминальной» активности. • Определение «проблемных» запросов. • Влияние фоновых процессов СУБД на качество сервиса. • Проверка наличия ошибок. Что значит экспресс? 01 dataegret.com
– время пользовательских процессов. • system time, %sy – время процессов ядра. • iowait, %wa – ожидание ввода-вывода. Проверка утилизации ресурсов 02 dataegret.com
running процессов. Подозрение на тяжелые запросы – загружены диски. Нагрузка от фоновых процессов базы – загружены диски. Но бывает, что с точки зрения ОС, всё хорошо... Итого 02 dataegret.com
время старта запроса. • state_change – время последнего изменения состояния. • state – состояние. • wait_event_type, wait_event – чего ждет клиент (транзакция, запрос). Трюки с pg_stat_activity 03 dataegret.com
- query_start – возраст запроса. • now() - state_change – возраст текущего состояния. • state in ('idle in transaction', 'active') – все остальные не интересуют. • wait_event_type, wait_event IS NOT NULL – ожидание. Трюки с pg_stat_activity 03 dataegret.com
— top, iostat, iotop, nicstat. Затем заглядываем в Postgres: • Проверяем на предмет криминальной активности – pg_stat_activity. • Выявляем жадные до ресурсов запросы – pg_stat_statements. • В случае проблем с фоновыми процессами – читать документацию. И не забываем про логи: • Ошибки, блокировки, дедлоки. Что в итоге 03 dataegret.com