High Performance Apache

Wednesday, 04 February 09
Qualche giorno fa come molti di coloro che leggono questo blog sanno ho configurato le macchine di LLOOGG. Ovviamente la configurazione di Apache di default non scala molto, e' un compromesso tra prestazioni e la previsione che sulla macchina media ci siano altri processi da preservare. In realta' in molte situazioni high-load i web server fanno solo da web server, ovviamente :)

Ecco dunque la configurazione che ho usato. Spero possa far comodo a qualcuno:
Timeout 30

ServerLimit 1000 <IfModule mpm_prefork_module> StartServers 50 MinSpareServers 25 MaxSpareServers 500 MaxClients 1000 MaxRequestsPerChild 0 </IfModule>
E' anche necessario mettere da qualche parte nei file di avvio dei server la seguente riga:
echo 1024 >  /proc/sys/fs/epoll/max_user_instances
Altrimenti i processi di Apache non avranno abbastanza risorse da parte del sistema operativo per gestire davvero tutti i client. Inutile dire che per gestire 1000 client bisogna far i conti con la memoria, se non ne avete abbastanza per cosi' tante istanze di Apache e' meglio mirare ad un numero minore, altrimenti in situazioni di alto traffico si possono avere problemi maggiori di quelli che si tenta di risolvere.

Inutile dire che e' stato necessario usare mpm-prefork perche' e' l'unico modello che mod_php gestisce in maniera stabile.
post letto 4050 volte (1.3 letture al giorno in media)
Postato alle 15:24:44 permalink | 4 commenti | stampa | posta | trackbacks