Задать вопрос

Fastcgi в php

Собственно интересует наличие сабжа в том виде, в котором он реализован в Си. Текущая реализация, входящая в дефолтную сборку кажется настолько кастрированной, что использовать ее помоему совершенно нет смысла. Или я ошибаюсь?

Так же паралельно хотелось бы наконец уяснить для себя есть ли какое то преимущество в производительности у fastcgi по сравнению с mod_php в апаче, т.к. продолжительное гугление ни к чему конкретному не привело.

Спасибо.
  • Вопрос задан
  • 3833 просмотра
Подписаться 11 Оценить Комментировать
Ответ пользователя zizop К ответам на вопрос (5)
zizop
@zizop
До сих пор не утихают споры по этому вопросу. Однозначного мнения нет, всё зависит от задачи, и от того, насколько ваш код оптимизирован к работе в fastCGI режиме. Вот материалы, которые помогут вам разобраться в теме:
Статья Дмитрия Котерова про php fast-cgi
Вриант от создателя phpDaemona
Статья по настройке php5-fpm
Статья Ильи Кантора по скрещиванию Symfony и Fast-Cgi

По поводу тестов и сравнения:
php-fpm VS apache2+mod_php
Apache + mod_php compared to Nginx + php-fpm
Comparing Nginx+PHP-FPM to Apache-mod_php
Битва PHP: Apache vs PHP-FPM

Некоторые соображения:
Вся технология PHP-FCGI базируется на чем угодно, только не на том, что из себя представляет fast cgi для таких например языков как Perl & C со своими интерфейсами скриптинга.

Если уравнять условия apache и php-fpm, php-fpm единственное в чем выигрывает, то это в памяти, ито за счет двух дополнительных процессах апача. Остальные выигрыши довольно сомнительны.

Если с апача убрать обработку статики и всего лишнего (например с помощью nginx), он довольно шустро обрабатывает скрипты.

С другой стороны, в PHP-FPM довольно красиво реализована схема chroot’а и запуска из под отдельных юзверей, что повышает безопасность. Но он проигрывает в IPC, т.к. пока не умеет изменять количество воркеров пропорционально нагрузке. Если поставить слишком много воркеров, будет overhead по CPU и памяти (за что грешат на апач), если поставить слишком мало – будут отказы в обслуживании. Ну впрочем, кому резонно вручную следить за процессами FPM, те этим занимаются.
Ответ написан
Комментировать