Par
Ludovic le mardi 17 février 2009, 00:12 -
Dotclear

Depuis quelques jours, je me suis lancé dans une phase d'optimisation de la
consommation CPU de ma Dédibox et voici le
résultat :

Comme vous pouvez le constater, le résultat est plutôt positif. Depuis le 14
février, la consommation CPU moyenne de mon serveur est descendue aux alentours
de 7%. Les pics d'activité ne se font plus du tout ressentir
sur le CPU du serveur.
J'utilise déjà un cache mémoire
au niveau de mon blog qui me permet cacher les pages HTML afin d'éviter de
les régénérer à chaque nouveau visiteur. Ce cache mémoire me permet
d'économiser beaucoup de CPU, la plupart des pages délivrées par Dotclear sont
en fait des pages déjà générées et gardées en mémoire par APC.
Mes optimisations de ces derniers jours ont portés sur 4 points
:
- Le tuning de la base MySQL : J'ai utilisé
le fameux script d'optimisation qui m'a donné pas mal de bons conseils sur
les options à modifier dans ma configuration MySQL afin d'optimiser les
performances de ma base, notamment sur les options du Query Cache.
- La suppression des snaps dans les commentaires et
remplacement par des Gravatars : les billets qui possèdent 230
commentaires sont très problématiques, ils augmentent le nombre de hits HTTP et
dégradent inexorablement les performances du serveur. A chaque commentaire une
requête HTTP de chargement de l'avatar était réalisée, pour un article qui
possède 230 commentaires, 231 requêtes HTTP sont envoyées pour charger
l'ensemble du contenu de la page. J'ai donc décidé de déléguer aux serveurs
Gravatar la gestion des avatars des
commentaires sur mon blog.
- La modification des plugins qui utilisent le script
"load_plugin_file.php" pour le chargement des ressources statiques. Je préfère
déléguer le chargement des ressources statiques des plugins à Lighttpd, cela me
permet d'économiser mon pool de threads PHP et donc d'économiser du CPU. J'ai
donc modifié le plugin "lightbox" et "atReply" pour mes besoins.
- La suppression dans mon thème des tags "EntryNext" et
"EntryPrevious" dont les requêtes SQL sont assez gourmandes en CPU
(surtout si votre blog contient beaucoup d'articles). Aujourd'hui, il n'existe
pas vraiment de solution simple pour optimiser ces deux requêtes, j'ai donc
préféré supprimer ces tags de mon thème en attendant de trouver une solution
plus performante.
Avec cette Dédibox et ces modifications, je devrai pouvoir monter facilement
à 50 000 pages vues par jour sachant que serveur délivre aujourd'hui autour de
5000 pages par jour.
Il ne me reste qu'à attendre le prochain gros buzz pour vérifier cette
théorie 