Тюнинг PostgreSQL 15/16 под 2 GB RAM (базовый интернет-магазин и REST API)
Оптимальная конфигурация postgresql.conf для 2 GB RAM: расчет пулов shared_buffers (512MB), work_mem (5MB), autovacuum и WAL для транзакционных нагрузок.
Интерактивный генератор под ваши параметры
Параметры подставляются в код в реальном времени
/etc/postgresql/16/main/postgresql.conf
# /etc/postgresql/16/main/postgresql.conf (2 GB RAM)
max_connections = 80
shared_buffers = 512MB
effective_cache_size = 1536MB
maintenance_work_mem = 128MB
checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 200
work_mem = 5242kB
min_wal_size = 1GB
max_wal_size = 4GB
autovacuum = on
autovacuum_max_workers = 3
autovacuum_vacuum_scale_factor = 0.05
Разбор ключевых директив конфигурации
Техническое обоснование директив и их прямое влияние на процессор (CPU), оперативную память (RAM) и дисковый ввод-вывод (NVMe I/O).
| Директива / Блок | Рекомендуемое значение | Зачем нужно и системное влияние (CPU / RAM / I-O) |
|---|---|---|
shared_buffers = 512MB |
512MB | Хранит активные страницы таблиц и индексов в оперативной памяти. |
work_mem = 5MB |
5MB | Память под сортировки для 80 одновременных подключений. |
effective_io_concurrency = 200 |
200 | Оптимизация параллельного ввода-вывода под SSD/NVMe. |
Рекомендуемые системные требования VDS под этот стек
Расчет минимальной и оптимальной конфигурации виртуального сервера для стабильной работы без сбоев.
Оптимальный сайзинг: 2 vCPU, 2 GB RAM, 30 GB NVMe
Timeweb Cloud
2 CPU / 4 GB NVMe
Рекомендуемые ресурсы
2 vCPU /
2 GB RAM /
30 GB NVMe
Selectel
2 vCPU / 4 GB RAM
Рекомендуемые ресурсы
2 vCPU /
2 GB RAM /
30 GB NVMe
Beget
Turbo 4 GB
Рекомендуемые ресурсы
2 vCPU /
2 GB RAM /
30 GB NVMe
Онлайн-утилиты SysKit для проверки этого сервера
Протестируйте корректность применения конфигурации прямо сейчас в один клик.
Частые ошибки при настройке и их решение (FAQ)
Типовые проблемы вебмастеров и сисадминов при внедрении данной конфигурации.
Как увидеть медленные SQL запросы?
Включите директиву `log_min_duration_statement = 300ms` в `postgresql.conf`.
Как оптимизировать создание индексов?
Параметр `maintenance_work_mem = 128MB` ускоряет `CREATE INDEX`.
Рекомендуемые смежные конфигурации
Дополнительные рецепты и калькуляторы для полной оптимизации данного серверного стека.