Andrei Nigmatulin представил набор патчей (php-fpm) к PHP 4/5, устраняющих ряд проблем, которые мешают использовать PHP в режиме FastCGI на высоконагруженных системах.
Возможности php-fpm:
Управление процессами. Возможность "плавно" останавливать и перезапускать php воркеры без потери запросов. Возможность плавно обновлять конфигурацию и binary без потери запросов;
Ограничение ip адресов, с которых могут приходить запросы от web сервера;
Динамическое количество процессов, в зависимости от нагрузки (TODO);
Запуск воркеров с разными uid/gid/chroot/environment и разными php.ini опциями;
Логирование stdout & stderr рабочих процессов;
Аварийный перезапуск всех процессов при случайном разрушении shared memory opcode cache, если используется акселератор;
Принудительное завершение подвисших процессов, если set_time_limit() не срабатывает (TODO);
|