Outils d’analyse et d’optimisation de sites web

Pour faire suite aux billets précédents ([ici|/post/2010/12/26/Optimisations-apache/php/postgres-pour-site-%C3%A0-haut-volume] et [ici|/post/2011/01/14/Optimisations-apache/php/postgres-pour-site-%C3%A0-haut-volume-partie-2]), voici quelques outils qui m’ont permis de faire une analyse assez fine des erreurs éventuelles et des optimisations à apporter.

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.

Utiliser proftpd avec une base de données PostgreSQL

Par défaut, lorsque l’on installe un serveur ftp sous linux, les autorisations et répertoires racines sont basées sur les utilisateurs système. Chaque fois que l’on veut ouvrir un accès, il faut ajouter un utilisateur. Cela peut commencer à devenir problématique quand vous voulez ouvrir des accès différents qui utilisent le même répertoire racine (par exemple pour gérer le [VirtualHost d’un serveur apache|/post/2010/10/23/Apache-%3A-diffusion-de-plusieurs-sites-avec-public_html-et-VirtualHost%2C-et-gestion-des-droits.] ?). Proftpd est un serveur ftp très efficace, facile à configurer, et qui peut se lier à une base de données pour la gestion des utilisateurs. Nous allons voir ici comment l’utiliser avec PostGreSQL, mais i est tout a fait possible d’utiliser une autre base de données (MySql par exemple).