Hacker News new | past | comments | ask | show | jobs | submit login

That's great, but it's got nothing to do with Apache. If you choose a shitty language, and PHP is shitty no matter how popular it gets, you're limited in choices elsewhere. There's clearly a market for Nginx, low memory virtual servers running PHP. Remove PHP and use a better language and Apache scale just fine even in low memory conditions because without PHP, you don't have to use the old fashioned process model. Apache can work with PHP-FPM just like Nginx using the new evented worker mpm, but as PHP devs clearly find Apache confusing there's no reason to bother.



> without PHP, you don't have to use the old fashioned process model.

Immediately followed by:

> Apache can work with PHP-FPM just like Nginx using the new evented worker mpm

seems contradictory. Can you clarify this bit?


The Apache evented worker is very new, just out in 2.4, so it's still standard practice to use the process model. The new way should bring it inline with Nginx but it's too new to say if it's as stable as Nginx; at least for me to say it.


There are now three major MPMs:

Prefork - if you want to use mod_php, you're stuck with this. I think this is what you're referring to as "the process model"

Worker - Uses threads to handle connections. A big step up from prefork, but not as awesomesauce as nginx.

Evented - The new MPM which use epoll

It's been possible to run PHP(-fpm) under "worker" (via FastCGI) for years, and it performs adequately. I never benchmarked, but I was using this setup back when nginx was still too bleeding-edge for my tastes, and it certainly beat the pants of prefork/mod_php




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: