Les différentes méthodes de Cache pour SPIP

, par Cédric

Nous sommes toujours dans nos bench. Avant de repasser sur ab, nous avons testé l’outil siege. Siege est un outil de test et benchmark. Il peut attaquer une URL unique avec un nombre défini d’utilisateurs simulés. Le programme indique le nombre total de visites enregistrées, les octets transférés, les temps de réponse et le nombre de requête par seconde.

La base du test est de lancer en parallèle 10,20 ... 150 clients sur la même page (une copie de spip-blog). On cherche ici à mesurer une page mise en cache.

Que ressortir de ce « beau » graphique :

- La courbe jaune semble la plus favorable. C’est la courbe qui représente le nombre de requêtes par seconde avec le plugin memoization activé et configuré pour utiliser xcache.

- On remarque que Cache Cool n’apporte pas de gain de performance en capacité. C’est attendu : Cache Cool donne l’impression que le site va vite en envoyant du contenu plus rapidement, mais au final, il fait les mêmes mises à jour des pages vues, sans gain pour le serveur. Au contraire, on s’aperçoit ici que la capacité se dégrade sous forte sollicitation. Cela s’explique ici par une gestion perfectible de la file de travail par le plugin Job-Queue sous forte contrainte et en SQLite. Il apparaît à l’analyse des logs que des tâches identiques sont exécutées plusieurs fois en parallèle par des processus concurrents. Combiné avec une lenteur relative de SQLite en modification de la base de données, cela donne donc un résultat décevant sous forte contrainte.

De plus, il faut éclairer les résultats de performance par le graphique ci-dessous qui représente la proportion de requêtes en erreurs.

Il semble ici à première vue que c’est mémoization+filecache qui réussit le mieux.

runSiege
Script bash de lancement de Siege
siegerc.txt
fichier de config Siege

Deux points sont à creuser pour expliquer ces résultats :
- les « sieges » sont lancés depuis notre propre ordinateur, et donc derrière un FAI.
- le MaxClient Apache n’est pas encore optimisé sur notre configuration serveur.

Il convient donc de suivre ces 2 pistes tests avant de conclure définitivement.

photo par cseeman

[Edit : la suite dans Les différentes méthodes de Cache pour SPIP - Episode II ]