Optimiser l’exécution de code PHP – Cache APC

Le langage PHP est un langage non compilé (tel que le python, le perl ou le script shell), pour qu’il soit interprété, une compilation du code est effectué lors de l’exécution de celui-ci, ce qui peut être lent selon les scripts php que vous possédez. De plus vous noterez que le principe est fastidieux, compiler le code à chaque fois ralentit forcément les choses… En particulier sur les CMS qui utilisent des framework, les scripts PHP font appel à de nombreux autres scripts PHP, augmentant les délais de compilation.

C’est là qu’intervient APC, il met en cache le code “compilé” (qu’on appelle un opcode), ainsi l’interpréteur PHP ne compile pas le code, mais lis directement l’opcode, d’où un gain de temps très important !

Ce module est très simple à installer, choisissez votre méthode (apt, rpm, compilation), et chargez le module dans apache, le tour est joué ! Vous pouvez ensuite vous servir du script “apc.php” fournis pour monitoré votre cache.
A titre d’information, j’ai gagné environ 500ms de temps d’exécution, ce qui n’est pas négligeable. Les pages de mon site AnimesOST, sont maintenant exécutés en 100-200ms au lieu de 700ms et + !

Optimiser MySql – MySqlTuner

La configuration par défaut du SGBD MySql convient parfaitement pour une utilisation basique. (CMS, Blog, …)

Cependant dès que votre base de données devient importante, MySql commence à se faire sentir sur la lenteur de vos requêtes SQL. C’est donc toutes vos applications qui sont impactés.

Si vous souhaitez optimiser la vitesse de traitement des requêtes et des différents accès interne au SGBD, il faut optimiser MySql en réglant divers paramètres dans le fichier de configuration situé dans “/etc/mysql/my.cnf”.
Or, modifier le fichier de configuration à l’aveugle n’est pas évident … Il existe donc un petit outil qui va analyser les logs, et la situation actuelle du SGBD, pour vous proposer diverses optimisations.
Cet outil c’est “mysqltuner“.

Une chose assez marrante, c’est qu’il s’agit d’un script perl que vous pouvez récupérer avec un simple wget. “wget mysqltuner.pl” – Oui juste en tapant ceci vous avez le script, le domaine vous redirige vers le script, et wget le télécharge.
Ensuite, il vous suffit de le lancer, de taper vos identifiants root, et de lire les conseils 😉 – et en particulier les paramètres à ajouter/modifer dans la configuration.

Exemple :

Pour obtenir des résultats corrects, il faut que MySql soit lancé pendant plus de 24H. Une fois les premiers réglages effectuées, attendez encore 24H ou + pour définir de nouvelles optimisations 😉
Sur mon serveur j’ai pu grappiller quelques centaines de millisecondes 🙂 – mine de rien, c’est toujours utile.
En tout cas c’est pas PluXml qui va faire ralentir mon serveur 😉