вторник, 13 декабря 2011 г.

php fpm

Что есть php-fpm и зачем оно нужно

fastcgi process manager

Работа через mod_php имеет особенности - все скрипты исполняются от пользователя апача (www, www-data, apache), и даже для 1000 сайтов рабочих процессов php относительно немного и равно количеству воркеров апача. Минусы - каждый воркер ест в среднем 150Мб памяти, и нет разделения доступа. С доступом можно решить через всякие suexec, но это порой немалое снижение быстродействия.
PHP, запускаемый как CGI (не FastCGI!) – страшный атавизм. Быть такого не должно.
Чем такая схема плоха. Если в двух словах – на каждое обращение к php-скрипту запускается новый процесс интерпретатора PHP. Все это работает очень медленно, производительность сайта будет крайне низкой.
Можно запустить под каждого пользователя по fastcgi-процессу, 1 или даже нескольким. Расход памяти на процесс будет меньше, но если создать по 2 процесса на 1000 сайтов - это 2000 fastcgi процессов. Немало.
В этом случае помогает fpm - он управляет fastcgi процессами, при этом их достаточно небольшое количество и создание не такая проблема. Хотя по-моему, актуально скорее для масс-хостиинга -- для больших проектов с единичными сайтами на сервер достаточно простого fastcgi.

Как выбрать по-настоящему хороший хостинг (пара строк взята оттуда)
Nginx + php-fpm на CentOS 5.3
Centos5.5 Nginx 0.8.33 + PHP5.3.1(fpm) + MySQL5.5.0(phpmyadmin) — полная настройка для начинающих — 1 часть
Установка и настройка: Nginx + php5-fpm на debian

Комментариев нет:

Отправить комментарий