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.
4 commenti
home