Fastcgi в php

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

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

Спасибо.
  • Вопрос задан
  • 3771 просмотр
Пригласить эксперта
Ответы на вопрос 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, те этим занимаются.
Ответ написан
opium
@opium
Просто люблю качественно работать
Ну он может работать от разных пользователей.
Его можно прикрутить к нгинксу и убрать апач.
Вы про php-fmp?
Из коробки в пхп по моему нет fastcgi.
И совершенно не понял в чем его кастрированность то?
Ответ написан
Tonik
@Tonik
По умолчанию настоящего FastCGI в PHP нет. По факту скрипты заново инициализируются при какждом запросе. Тут может помочь какой то опкешер, но к теме вопроса это отношения не имеет.

Есть проект phpdaemon, который может работать как FastCGI server. На хабре о нем не редко пишут. Вот например попытка перевести проект на симфонии на него habrahabr.ru/blogs/php/103875/.

При всем моем уважение к phpdaemon (без сарказма), я бы побоялся выпускать это в продакшен.
1. Сколько людей стоит за этим проектом? Насколько безглючный код? Не надоест ли автору завтра заниматься этим проектом? Лист рассылки не выглядит слишком активным…
2. Если у вас есть уже готовый код, большой шанс что его придется допиливать.

И тд. Мое имхо, что PHP годами был плохо приспособлен к такому использованию. Да стало лучше, но еще пройдет не мало времени, прежде чем вся инфрастуктура PHP будет приспособлена для true FastCGI приложений.

мое мнение — если хотите настоящий FastCGI, то PHP пока не лучший выбор.
Ответ написан
@zoxa
Использую php fast cgi на нашем проекте. но правда только конкретно для определенной части приложения.
нам надо было связать высоко нагруженную часть приложения (трэкинг переходов по ссылкам) с IBM MQ Web Sphere и с MySQL

Пришлось допилить руками код на с. но в итоге получили следующее:
Каждый сервер apache поднимает (взависимотси от нагрузки) от 5 до 100 форков приложения и каждый форк держит постоянные соеденения с MQ или с MySQL. Что дало прирость в скорости и решило проблему с кол-вом открытых соеденений.

Полностью переключиться на fast-cgi не получилось. Некоторые компоненты не захотели работать под fast-cgi частью поэтому пришлось разбивать на части.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
LAPTOP.RU Москва
от 130 000 до 170 000 ₽
LAPTOP.RU Кострома
от 25 000 до 65 000 ₽
от 80 000 до 120 000 ₽
03 мар. 2021, в 15:38
1000 руб./в час
03 мар. 2021, в 15:35
6000 руб./за проект
03 мар. 2021, в 15:23
70000 руб./за проект