Optimisations apache/php/postgres pour site à haut volume

J’ai basculé récemment le site [Les souterrains de Delain|http://www.jdr-delain.net|fr] vers un hébergement [Dedibox V3|http://www.online.net/serveur-dedie/offre-dedibox-v3.xhtml|fr], une solution d’hébergement bien plus légère que le serveur utilisé auparavant. J’ai choisi un OS Ubuntu serveur 10.04 pour cette occasion. Ce système d’exploitation est bien conçu pour des sites à petite/moyenne charge, mais sur un site comme delain, très rapidement, la machine s’est effondrée et n’a pas réussi à suivre l’afflux des requêtes. Voici un petit aperçu des choses que j’ai faites, et qui m’ont permis de faire tourner quand même ce site malgré les performances moindres de la machine.

Apache : diffusion de plusieurs sites avec public_html et VirtualHost, et gestion des droits.

Sur un serveur Apache2 (mais ça ne change pas beaucoup pour Apache 1.x), il existe une racine de documents. Selon votre distribution ou votre façon d’installer apache, elle peut se trouver dans __/var/www__, __/usr/local/apache/htdocs__ ou ailleurs, c’est vous qui le déterminez dans votre fichier de configuration httpd.conf. Dans une configuration Ubuntu standard, c’est __/var/www__. Cela signifie que les machines qui accèdent à votre machine via apache voient par défaut les fichiers html/php (ou autres) qui se trouvent dans ce répertoire et ses sous répertoires.