Результаты поиска
Disk в PostgreSQL
Зачем это знать:
-
PostgreSQL может быть медленным из-за диска, даже если CPU свободен.
-
Disk - частое узкое место для БД.
Связанные темы:
WAL, Checkpoint и восстановление
Мониторинг и диагностика PostgreSQL
Куда тратится диск
-
heap таблиц,
-
индексы,
-
WAL,
-
temp files,
-
autovacuum,
-
backup/restore.
Частые проблемы
-
много случайных чтений,
-
большие Seq Scan,
-
много записи,
-
checkpoint пишет много грязных страниц,
-
temp files растут из-за сортировок,
-
индексы сильно разрослись.
Пример
SELECT *
FROM orders
WHERE status = 'NEW';
Если таблица большая и индекса нет, запрос может читать много страниц с диска.
Проверка:
EXPLAIN (ANALYZE, BUFFERS)
SELECT *
FROM orders
WHERE status = 'NEW';
Как снижать
-
добавлять индексы осознанно,
-
не делать лишние индексы,
-
следить за WAL/temp files,
-
чистить bloat через autovacuum/VACUUM,
-
выбирать SSD/NVMe для random I/O,
-
разделять данные, WAL и backup если нужно.