PHP-FPM калькулятор и тюнинг пула www.conf для VDS 1 GB RAM

Обновлено: Сентябрь 2026 Стек: PHP 8.1 / 8.2 / 8.3, PHP-FPM, Linux Kernel 5.15+ Проверено: Production-Ready

Точный расчет директив pm.max_children, pm.start_servers для VDS с 1 GB RAM: режим ondemand, экономия оперативной памяти, предотвращение OOM Killer.

Интерактивный генератор под ваши параметры
Параметры подставляются в код в реальном времени
/etc/php/8.2/fpm/pool.d/www.conf
# /etc/php/8.2/fpm/pool.d/www.conf
; Конфигурация пула PHP-FPM под VDS 1 GB RAM (Ondemand режим)
[www]
user = www-data
group = www-data

listen = /run/php/php8.2-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660

; Режим управления процессами (ondemand для экономии каждого МБ)
pm = ondemand

; Расчет: (1024MB RAM - 350MB OS/DB) / 35MB на PHP воркер = ~18 воркеров
pm.max_children = 18

; Время простоя воркера перед выгрузкой из памяти (в секундах)
pm.process_idle_timeout = 10s

; Перезапуск процесса после обработки 500 запросов (защита от утечек памяти)
pm.max_requests = 500

; Статус-страница для мониторинга пула
pm.status_path = /status
ping.path = /ping

; Логи медленных запросов (>3 сек)
request_slowlog_timeout = 3s
slowlog = /var/log/php8.2-fpm-slow.log

; Лимиты памяти PHP для единичного скрипта
php_admin_value[memory_limit] = 128M
php_admin_value[max_execution_time] = 60
php_admin_value[upload_max_filesize] = 32M
php_admin_value[post_max_size] = 32M

Разбор ключевых директив конфигурации

Техническое обоснование директив и их прямое влияние на процессор (CPU), оперативную память (RAM) и дисковый ввод-вывод (NVMe I/O).

Директива / Блок Рекомендуемое значение Зачем нужно и системное влияние (CPU / RAM / I-O)
pm = ondemand ondemand (по требованию) Создает воркеры только при поступлении HTTP-запросов и сразу выгружает их через 10с простоя, освобождая до 400 МБ памяти для MySQL.
pm.max_children = 18 18 процессов Жесткий потолок количества одновременных процессов. Защищает VDS от падения ядра в панику Out-Of-Memory (OOM Killer).
pm.max_requests = 500 500 запросов Перезапускает воркер после 500 обработанных хитов, ликвидируя накопившиеся утечки памяти в PHP-библиотеках.

Рекомендуемые системные требования VDS под этот стек

Расчет минимальной и оптимальной конфигурации виртуального сервера для стабильной работы без сбоев.

Оптимальный сайзинг: 1 vCPU, 1 GB RAM, 20-25 GB NVMe SSD
Расчетная нагрузка: Блог / визитка до 1 500 уникальных посетителей/сутки
1 CPU / 1 GB NVMe
⚡

Timeweb Cloud

Рекомендуемые ресурсы
1 vCPU (3.0+ GHz) / 1 GB RAM / 25 GB NVMe
1 vCPU / 1 GB RAM
🔷

Selectel

Рекомендуемые ресурсы
1 vCPU (3.0+ GHz) / 1 GB RAM / 25 GB NVMe
Старт 1 GB
🟠

Beget

Рекомендуемые ресурсы
1 vCPU (3.0+ GHz) / 1 GB RAM / 25 GB NVMe

Онлайн-утилиты SysKit для проверки этого сервера

Протестируйте корректность применения конфигурации прямо сейчас в один клик.

Частые ошибки при настройке и их решение (FAQ)

Типовые проблемы вебмастеров и сисадминов при внедрении данной конфигурации.

В логах появляется ошибка 'server reached pm.max_children setting'
Это означает, что наплыв посетителей превысил лимит 18 воркеров. Запросы встают в очередь. Решение — добавить FastCGI-кэширование в Nginx либо увеличить RAM сервера.
Как понять, что пулу PHP-FPM не хватает памяти?
В логе `/var/log/php-fpm.log` появляется предупреждение `server reached pm.max_children setting, consider raising pm.max_children`. Также команда `dmesg | grep oom` покажет OOM-киллер.
Нужно ли перезагружать службу после изменения параметров?
Да, для применения настроек выполните: `systemctl restart php8.2-fpm` (или вашу версию PHP) и `systemctl restart mysql`.