Eu tentaria separar a veiculação de scripts PHP e arquivos estáticos.
Você pode exibir arquivos estáticos de maneira muito eficiente com worker MPM
e ainda melhor com event MPM
disponível para httpd 2.4+
. Mas você não pode usar este MPM para servir scripts PHP, pois o PHP não é thread-safe.
Para PHP, você pode executar uma instância httpd separada (estou executando no meu servidor com Listen 127.0.0.2:488
) e configurar o servidor principal como um proxy reverso:
ProxyPreserveHost On
DocumentRoot /var/www/html
RewriteEngine On
RewriteCond /var/www/html%{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} \.php$
RewriteRule ^/(.*) http://127.0.0.2:488/$1 [P,L]
Com mod_remoteip
(novamente - disponível a partir do httpd 2.4) seria verdadeiramente transparente para um script PHP.
Ou use, por exemplo, php-fpm .
Desta forma, a solicitação de arquivos estáticos, conexões persistentes HTTP etc. usará uma fração da RAM.