Booster son WordPress avec Varnish 4/4

WordPress Varnish logos

Test n°3 : 80 threads avec Varnish

On lance 80 threads JMeter sur le site en SSL avec Nginx, avec le cache Varnish et avec le plugin de cache WordPress WP Fastest Cache afin d’essayer de trouver la limite de la VM WordPress.
Les résultats bruts de JMeter : nombre de requêtes 935 664 avec 7% d’erreur.

Nombre de threads actifs en fonction du temps

La légende des abscisses indique le jour 10 (Février) suivi de l’heure.
Les 80 threads sont atteints à 08h27. C’est à partir de ce moment qu’on atteint le maximum de la charge jusqu’à 08h37.


Les métriques de la VM sont les suivantes. La granularité de l’outil de graphes Munin, utilisé pour ces tests est de 5 minutes.

Nombre de requêtes traitées par Nginx par seconde

Il faut noter l’amélioration du maximum. On est à 360 requêtes/s ce qui prouve que la VM avec encore des ressources. On a augmenté de plus de 60% pour une augmentation de 100% du nombre de threads. Ce qui indique qu’il y a probablement une contention, sinon on aurait aussi fait 100% de requêtes/s en plus !

Nombre de requêtes traitées par Apache par seconde

Apache ne fait rien ou presque.

Load average : charge de la VM

La charge de la VM n’est pas significative, il ne faut pas tenir compte des petites variations.

graphe d’utilisation de la CPU

L’utilisation de la CPU a doublé et passe à 20%, ce qui reste faible. Ce n’est pas en calcul que la VM est limitée.

Nombre de requêtes MySQL par seconde

Là aussi, on a un « joli » graphe mais pas significatif. MySQL ne fait rien.

Trafic réseau de la VM en Mbps

On voit la contention !!! Le maximum de débit réseau est atteint à 8h20, alors que les 80 threads sont atteints à 8h27. Ce plateau montre que la VM n’arrive pas à produire plus de pages que lorsqu’elle est soumise à 65 threads.

Utilisation de la mémoire. Rien à signaler coté mémoire.

Les métriques coté JMeter sont les suivantes. La granularité des JMeter est de 1 minutes, c’est donc beaucoup plus précis dans notre cas que les graphes Munin.

La latence des pages (TTFB) en fonction du temps.

La latence ne varie pas jusqu’à 8h20 puis elle se disperse. En fait lorsque la machine est saturée, comme on atteint une limite de débit, les latences s’allongent.

Les temps de réponse des pages en fonction du temps

Même constat, les temps de réponse s’allongent à partir de 8h20.

Graphes de débit réseau en MBps (octets) par seconde.

Et le débit ne suit pas les threads…..

Conclusions à tirer de ce troisième test :

  1. On a réussi à saturer la VM vers 65 threads.
  2. La contention apparaît au niveau du réseau. La VM n’arrive pas à fournir plus de 15 Mbps.
  3. Au delà de 65 threads, la VM répond, mais les temps de réponse s’allongent et elle produit des erreurs.