Optimization de mon LAMP
20 07 2008Une chose est d’avoir une machine (plus ou moins) puissante pour gérer un LAMP1, une autre est d’optimizer son fonctionnement. En effet, si un LAMP basique peut traiter un certain nombre de conexions simultanées, optimiser la configuration de ce même LAMP permet de servir ces requètes plus rapidement, ou d’en servir un plus grand nombre.
Je compte ajouter quelques améliorations à mon LAMP dans les jours et les mois qui suivent, et les indiquerai dans ce post.
Désactivation des .htaccess
Première optimization au programme, la suppression de la recherche des .htAccess. Chaque requète sur une page du site engendre la recherche par Apache de fichiers .htAccess dans les répertoire de niveaux supérieurs au niveau actuel. Par exemple, si un client demande http://www.example.com/news/admin/foo.html, Apache cherchera à ouvrir les fichiers suivants avant de faire quoi que ce soit d’autre:
- /var/www/.htaccess
- /var/www/news/.htaccess
- /var/www/news/admin/.htaccess
Ce qui fait 3 recherches sur le système de fichiers sans aucune raison. Cela ne fait que quelques microsecondes de perdues, mais c’est déjà trop. Donc on supprime cela.
<Directory /var/www> AllowOverride none </Directory>
Mais vous me direz que c’est utile d’avoir des .htaccess. Ce à quoi je répondrai qu’il suffit d’indiquer le contenu des .htaccess dans le fichier de configuration central ou dans un fichier qui sera inclus dans celui-ci.
Activation du cache de MySQL
MySQL permet de mettre en cache les résultats de certaines requètes, de façon à en restituer les résultats de façon plus rapide. Cela consomme de la mémoire sur le serveur, mais des résultats stockés en mémoire sont plus rapides que faire la requète et faire des lectures sur le disque dur.
Il suffit d’ajouter les directives suivantes dans votre my.cnf:
query_cache_size = 31457280 query_cache_type = 1
Et ce, dans la section [mysqld] du fichier.
Stocker les fichiers les plus fréquemment utilisés sur une clé USB
J’ignore si cela aura le moindre impact sur les performances, mais mon idée que les mémoires flashs ont la réputation d’être bien plus rapides que les disques durs classiques. Je compte donc acheter quelques clés USB et les monter en RAID0, et ensuite changer le stockage par défaut d’Apache ou de MySQL sur ce cluster…
- LAMP est l’acronyme de Linux, Apache, MySQL, P(HP|erl|ython), qui sont les éléments classiques présents sur un serveur web. [↩]
![[del.icio.us]](http://www.thanerd.net/wp-content/plugins/bookmarkify/delicious.png)
![[Digg]](http://www.thanerd.net/wp-content/plugins/bookmarkify/digg.png)
![[Facebook]](http://www.thanerd.net/wp-content/plugins/bookmarkify/facebook.png)
![[Furl]](http://www.thanerd.net/wp-content/plugins/bookmarkify/furl.png)
![[Google]](http://www.thanerd.net/wp-content/plugins/bookmarkify/google.png)
![[MySpace]](http://www.thanerd.net/wp-content/plugins/bookmarkify/myspace.png)
![[Shoutwire]](http://www.thanerd.net/wp-content/plugins/bookmarkify/shoutwire.png)
![[StumbleUpon]](http://www.thanerd.net/wp-content/plugins/bookmarkify/stumbleupon.png)
![[Technorati]](http://www.thanerd.net/wp-content/plugins/bookmarkify/technorati.png)
![[Windows Live]](http://www.thanerd.net/wp-content/plugins/bookmarkify/windowslive.png)
![[Email]](http://www.thanerd.net/wp-content/plugins/bookmarkify/email.png)





