Что быстрее apache+modphp, apache+phpfpm или nginx+phpfpm?

Аватар пользователя jura12 jura12 16 марта 2018 в 14:30

Что быстрее в порядке возрастания?

0 Thanks

Комментарии

Аватар пользователя bsyomov bsyomov 16 марта 2018 в 19:39
2

Apache+php-fpm хуже, чем apache+mod_php. =) У apache + mod_php меньше накладные расходы на работу с php, чем у любого варианта с FastCGI. Там данные гоняются внутри одного процесса, а межпроцессное взаимодействие всегда сложнее накладнее. И то, что этот способ куда более старый, чем php-fpm не делает его хуже.

Вообще, мысль о том что что-то лучше только потому, что оно новее, это довольно опасное заблуждение...

Аватар пользователя bumble bumble 16 марта 2018 в 19:47

Вполне вероятно, что мои суждения неправильны.
Я только по своим прикидкам рейнджил, весьма субъективно. И вообще - я очень низко на одминно-дэвобсовской шкале профессионализма, если честно )))

К apache + mod_php сложилось такое отношение потому что "все так говорят" (да-да, стадный инкстинкт) )). Все говорят что мод_пхп - стар и никому не нужет 300 лет, так в общем, и про апач в целом говорят. И я, пока, не встречал рекомендаций по применению его как альтернативе двум другим.

В любом случае - спасибо за инфу - очень полезная для меня, и для всей аудитории дру!

Аватар пользователя bsyomov bsyomov 16 марта 2018 в 19:18

Эта картинка не имеет смысла - как только hello world заменяется на реальный какой-то скрипт, график разительно поменяется.

Аватар пользователя bsyomov bsyomov 16 марта 2018 в 19:16
1

Не всё так просто с производительностью... =) И "быстрее" в данном случае это не такое простое понятие.

Если забыть о потреблении ресурсов, то apache + mod_php будет быстрее всего при обработке скриптов.
Но, в общем, это будет плохое решение из-за того, что статику отдавать с помощью apache дорого по ресурсам, как и обслуживать медленных клиентов. Поэтому, перед ним ставят nginx, который проксирует запросы к скриптам, и отдаёт сам статику, при этом время ответа на запрос скрипта чуть-чуть увеличится, но устойчивость к нагрузке и потребление ресурсов заметно улучшится.

С точки зрения потребления ресурсов и устойчивости к нагрузкам самый лучший вариант nginx+php-fpm(или другой быстрый веб сервер, nginx просто наиболее распространён), но и самый не торопливый при запросу к скрипту.
Но опять же, эта разница очень не велика, по отношению к среднему времени работы скрипта, поэтому, этот вариант и наиболее удачный.

Apache + php-fpm нужен только тогда, когда какой-то панельке не умеющей работать без apache(для чего нужно 100500 шаблонов конфига nginx), надо уметь использовать несколько разных версий php.
В кастомной настройке он просто не имеет смысла, т.к. имеет все недостатки от apache + mod_php и nginx + php-fpm, но не имеет ни одного достоинства, кроме обработки .htaccess.