Super Cache peut booster votre site

Le principe de WordPress est de composer dynamiquement la page web demandée par l’internaute, en allant chercher le contenu dans la base MySQL . Le moteur PHP génère alors une page HTML qui est envoyée au navigateur de l’internaute.

Le système permet une forte interactivité avec l’internaute pour stocker ses commentaires.

Il présente surtout l’avantage de créer le contenu de manière conviviale directement à partir du navigateur, sans aucun éditeur HTML.

L’inconvénient bien connu est de consommer du CPU pour faire tourner la base de donnée avec, au final, un temps accru de présentation de la page.

Quelques dixièmes de seconde d’attente en plus peuvent suffire pour perdre votre internaute.

La solution pour pallier à cet inconvénient, tout en gardant l’interactivité du CMS, est donc d’utiliser un plugin de cache.

Le principe du cache est simple : la page appelée est composée puis conservée en zone tampon . Son affichage ne nécessite alors plus d’aller chercher le contenu dans la base MySQL.

Il y a deux façons de générer une page en cache :

  1. soit créer directement une page codée en HTML qui sera servie tel quelle à l’internaute,
  2. soit créer une page en PHP qui sera interprétée par le moteur PHP pour envoyer le code HTML correspondant au navigateur de l’internaute.

La première méthode est évidemment plus rapide, puisque la page est devenue réellement statique. La deuxième élimine l’étape de la connexion en base de donnée mais nécessite encore des ressources CPU pour interpréter le code PHP.

A partir de ces rappels théoriques, j’ai voulu mesurer en pratique les différences en utilisant l’outil siege à partir d’un serveur dédié.

Siege est un petit logiciel sous Linux qui permet littéralement d’assiéger un serveur en lui présentant de multiples requêtes dans un court laps de temps, via plusieurs « clients » opérant en parallèle.

Le plugin utilisé pour ce test est Super Cache qui peut utiliser tous les modes de fonctionnement décris plus haut.

J’ai lancé quatre requêtes pendant 20 secondes chacune.

Les requêtes étaient présentées par 5 clients simultanément, avec un temps d’attente aléatoire entre deux requêtes, allant de 0 à 5 secondes, pour ne pas menacer le serveur qui m’héberge :-D .

Dans la première requête, le plugin Super Cache était en OFF et aucune statique HTML n’était disponible. La base de donnée était donc sollicitée.

16 requêtes seulement ont pu êtres envoyées en 20 secondes dont la moitié seulement a réussi.

En effet 8 requêtes sur 16 ont renvoyés un code 500 correspondant à une erreur au niveau du serveur. Les requêtes réussies ont nécessité entre 2.40 seconde et 7.27 secondes.

Pour la  deuxième requête, j’ai utilisé le mode HALF ON du plugin Super Cache correspondant à la demi solution que je présentais en introduction: la page est stockée en PHP et la base de donnée n’est pas interrogée. Seul le moteur PHP est sollicité.

En 20 secondes, j’ai ainsi pu envoyer 32 requêtes qui ont toutes été réussies, avec des temps allant de 0.10 à 2.08 secondes.

La troisième requête correspond au mode ON du plugin avec génération de page HTML.

En 20 secondes, 30 requêtes, toutes réussies, ont pu êtres reçues, avec des temps allant de 0.05 à 0.11 secondes.

La quatrième et dernière requête renvoyait à une page HTML, générée au préalable par le plugin : le mode cache direct du plugin. La page est stockée directement avec le permalien comme titre du fichier.

En 20 secondes, j’ai donc présenté 37 requêtes: toutes ont été réussies, avec un temps par requête allant de 0.04 seconde à 0.08 seconde.

Mode du plugin
Super Cache

Nombre de requêtes

Taux de réussite

Temps minimum
par requête
(en secondes)

Temps maximum
par requête
(en secondes)

OFF

16

50%

2.40

7.27

HALF ON

32

100%

0.10

2.08

ON

30

100%

0.05

0.11

ON + direct page

37

100%

0.04

0.08

 

La conclusion est sans appel:

Un cache est indispensable lorsque votre site commence à recevoir une bonne fréquentation. A défaut vos visiteurs risquent de ne pas être servis.

Le mode Super Cache est beaucoup plus rapide que le mode HALF ON.

Le mode Direct Cache du plugin améliore encore légèrement la rapidité de WordPress.

Je terminerais ce billet en donnant les mesures observées avec le plugin Hyper Cache:

Hyper Cache

Nombre de requêtes

Taux de réussite

Temps minimum
par requête
(en secondes)

Temps maximum
par requête
(en secondes)

ON

35

100%

0.09

0.38

 

A vous de choisir maintenant votre plugin 8-)

Share and Enjoy:
  • del.icio.us
  • Facebook
  • Scoopeo
  • Google Bookmarks
  • BlogMemes Fr
  • email
  • LinkedIn
  • Live
  • Technorati
  • Wikio
  • Wikio FR
  • Print
  • Twitter
  • Yahoo! Bookmarks

Laissez un commentaire

Markup Controls
Emoticons Smile Grin Sad Surprised Shocked Confused Cool Mad Razz Neutral Wink Lol Red Face Cry Evil Twisted Roll Exclaim Question Idea Arrow Mr Green

powered by C4F Textarea Toolbar