Первые 4 рычага: shared_buffers = 25% RAM, effective_cache_size = 75% RAM, work_mem = RAM / (max_connections × 3), maintenance_work_mem = 1-2 GB. Затем включите pg_stat_statements, найдите top-10 по total_exec_time, добавьте индексы через EXPLAIN ANALYZE. Следите за autovacuum (pg_stat_user_tables.last_autovacuum): если вечно отстаёт — увеличьте autovacuum_max_workers.
Ниже: подробности, пример, смежные термины, FAQ.
-- pgbench benchmark до/после настройки
$ pgbench -c 10 -T 60 mydb
-- top-10 медленных запросов
SELECT query, calls, total_exec_time, mean_exec_time
FROM pg_stat_statements
ORDER BY total_exec_time DESC LIMIT 10;
-- Индекс + verify
CREATE INDEX CONCURRENTLY ON orders (user_id, created_at DESC);
EXPLAIN (ANALYZE, BUFFERS) SELECT * FROM orders WHERE user_id = 1 LIMIT 20;Health Score — комплексная оценка технического состояния сайта по 20+ параметрам: SSL, заголовки безопасности, скорость ответа, SEO-технические факторы и доступность.
20+ параметров в одном числе: SSL, заголовки, скорость, SEO-технические факторы.
Каждый параметр с объяснением — что проверяется, что найдено, как исправить.
Сравнивайте Health Score в разные даты — видите прогресс или регресс.
Настройте автоматическую проверку Health Score и получайте уведомление при падении балла.
быстрый аудит перед релизом
оценка технической базы
проверка сайта клиента
экспресс-аудит заголовков
История Health Score проверок и мониторинг состояния сайта в реальном времени.
Зарегистрироваться (FREE)Да, как стартовая точка. pgtune.leopard.in.ua генерирует base config. Дальше — подкручиваете под свой workload (OLTP vs OLAP).
При таблицах > 100 GB или вырезании старых данных. Для < 10 GB — лишняя сложность.
При > 200 concurrent — да, Postgres per-connection backend съедает 10 MB RAM + контекст-свитчи.