Подтвердить что ты не робот

В чем разница между fastcgi и fpm?

Я пытаюсь установить php с fpm в macports. Я где-то читал, что fpm означает FastCGI-менеджер процессов. Означает ли это, что fastcgi и fpm такие же? Если они одинаковые, то почему у нас есть два разных варианта macports для php, а именно "php5 + fastcgi" и "php5 + fpm"

4b9b3361

Ответ 1

FPM является диспетчером процессов для управления FastCGI SAPI (Server API) в PHP.

В принципе, он заменяет необходимость в чем-то вроде SpawnFCGI. Он быстро адаптирует файлы FastCGI (что означает запуск больше, если это требует текущая загрузка).

В противном случае разница между ним и FastCGI невелика (конвейер запросов от начала запроса до конца один и тот же). Это просто, чтобы упростить реализацию.

Ответ 2

То, что говорит Энтони, абсолютно правильно, но я хотел бы добавить, что ваш опыт, скорее всего, продемонстрирует намного лучшую производительность и эффективность (из-за не fpm-vs-fcgi, а больше для реализации вашего httpd).

Например, у меня была четырехъядерная машина, работающая на lighttpd + fcgi. Я перешел на 16-ядерную машину, чтобы справиться с ростом, а также две вещи: использование RAM и segfaults. Я обнаружил, что перезапускал lighttpd каждые 30 минут, чтобы сохранить сайт.

Я переключился на php-fpm и nginx, а использование ОЗУ снизилось s > 20 ГБ до 2 ГБ. Segfaults также исчезли. Проведя некоторые исследования, я узнал, что lighttpd и fcgi хорошо ладят с многоядерными машинами под нагрузкой, а также имеют проблемы с утечкой памяти в определенных случаях.

Это связано с тем, что php-fpm лучше fcgi? Не совсем, но как вы подключаетесь к php-fpm, кажется, что целая хеквува намного эффективнее, чем то, как вы обслуживаете через fcgi.