TUTORIEL PHP 
Le cache par la pratique
Après l'accélération de code, le cache est la méthode la plus facile pour accélérer un site web existant : voici une approche pratique sans dépendance externe. (31/01/2005)
(fourni par Direction PHP)

  1. Introduction
2. L'anti-PEAR
3. Préparation
4. Cache en mémoire vive
5. Améliorations
6. Cache avec fichier et utilisation du cache

Après l'accélération de code, dite aussi cache d'opcode, le cache est la méthode la plus facile pour accélérer un site web existant : il suffit de sauver le résultat des opérations les plus gourmandes sur un medium temporaire et rapide. Il suffira alors d'y lire le contenu à diffuser, au lieu de le calculer à nouveau. Cet article illustre une approche pratique sans dépendance externe.

Aussi souvent que je vois une discussion sur un forum à propos des performances de PHP, je m'étonne de l'absence de solutions de cache. Personne ne propose jamais de solutions de cache pour résoudre un problème de script trop long à exécuter. Naturellement, l'optimisation est la meilleure solution, mais, soyons réalistes : les développeurs n'ont jamais le temps de s'y consacrer le temps nécessaire de manière efficace. Si un simple cache peut accélérer une application, il faut s'y attarder : cela vous donnera le temps de vous préoccuper d'autres problèmes plus importants, ou d'optimiser le code avec prudence. L'optimisation est un sujet proche de la sorcellerie : cela peut conduire immédiatement à une catastrophe si elle est mal menée. Autant mettre le maximum de chances de votre côté.

Je conçois le cache comme une solution aux problèmes de développeurs, et non pas à ceux d'un site Web. Laissez-moi expliquer : votre site peut être lent parce que vos scripts sont longs à exécuter, ou parce que votre trafic dépasse les capacités du serveur. Si votre site ralentit lors de pics de trafic, ce que j'appellerai un problème de site Web, et que vos scripts sont bien optimisés, alors le cache ne pourra pas résoudre vos problèmes, sauf peut-être réduire le nombre de sollicitations de la base de données. Dans ce cas, au contraire, il faudra activer d'autres options comme les caches d'opcode et les optimisateurs, ou encore un second serveur, pour répartir la charge sur plusieurs machines.

D'un autre côté, si vos scripts ne sont pas optimisés, comme c'est souvent le cas avec les sites Web, le cache peut vous tendre une main secourable et vous donner le temps de comprendre ce qui se passe sur votre application, sans avoir sur le dos toute la direction de la compagnie.

  Forum

Réagissez dans les forums de JDN Développeurs

Dans certains cas, vos scripts peuvent être lents sans que cela soit de votre faute : par exemple, si vos pages dépendent d'une source d'information externe, comme une agence de publicité, alors vous ne pourrez pas améliorer les performances, et le cache sera une solution à étudier.

Avant que je ne me lance plus à fond dans l'article, je voudrais insister sur le fait qu'il existe des solutions de cache que vous pouvez utiliser dans vos projets sans avoir à recompiler PHP. PEAR::Cache et PEAR::Cache_Lite sont deux excellents exemples. Vous pouvez aussi lire l'article de Bruno Pedro sur les techniques de cache, qui est paru dans Direction|PHP au moins de mars 2004. Bruno couvre différentes méthodes de cache que je ne vous présente pas dans cet article, et il fait une utilisation intensive des classes PEAR.

  1. Introduction
2. L'anti-PEAR
3. Préparation
4. Cache en mémoire vive
5. Améliorations
6. Cache avec fichier et utilisation du cache

 

 
Rédaction JDN Développeurs
 
Accueil | Haut de page
 
 





Quand achetez-vous le plus en ligne ?
Du lundi au vendredi
Le samedi
Le dimanche

Tous les sondages