29-11-2011 : Remettre dans le débat politique les principes du Conseil National de la Résistance
17-02-2012 : Pétition pour une protection de l’apiculture et des consommateurs face au lobby des OGM
Logo de mon site
Logo de mon site
Faire un don




Right menu

Logo du site ez.no  Logo XHTML 1.O du W3C  Logo XHTML 1.O du W3C  Site francophone officiel de Firefox
zero papier grâce aux catalogues et promos en ligne de bonial

Results - Résultats

Date de publication: le vendredi 10 avril 2009 à 22h10
Dernière modification: par Pascal BOYER le mardi 5 octobre 2010 à 16h30
« Article précédent: Solution and Implementation -- Solution et implémentation

30/03/2009 11:19  

We ran series of benchmarks to evaluate the influence of the Stale Cache feature on a website's overall performance and user-experience. One of them consisted in using a JMeter scenario to hammer a specific page, simulating 20 concurrent end-users viewing a fully-cached content node, during one minute. We stressed two very identical instances of eZ Publish, but for the Stale Cache improvement. We wanted to measure the impact of a view cache re-generation under high load and high concurrency. During this minute, the content object's view cache was cleared 8 times. Here is the resulting graph ( volume of requests/sec on the vertical axis ). 
Nous avons effectué une série de tests de performances afin d'évaluer l'influence de la fonctionnalité Stale Cache sur l'ensemble des performances d'un site web ainsi que sur l'expérience utilisateur. L'un de ces tests a consisté à créer un scénario JMeter simulant, pendant 1 minute, 20 requêtes simultanées d'utilisateurs finaux vers une même page liée à un nœud de contenu totalement caché (mis en cache). Nous avons testé deux instances parfaitement identiques de eZ Publish, à l'exception du nouveau système Stale Cache. Nous voulions mesurer l'impact de la régénération du cache d'une vue lorsque le système est soumis à une forte charge et à de très nombreuses requêtes concurrentes. Au cours de cette minute, le cache de vue de l'objet était supprimé à 8 reprises. Voici le graphe des résultats obtenus (le volume de requêtes/sec est représenté par l'axe vertical):

   

   

Cliquez sur l'image pour l'afficher dans sa taille réelle

The obvious trend on this graph it that upon every cache clearing, with no Stale Cache, eZ Publish's reactivity shrinks down to 40 requests/sec, while being slightly over 60 requests/sec in average otherwise. This is due to the now defunct sub-optimal queue handling in cache management, which frequently resulted in DB deadlocks or other harmful race conditions. c, you can notice the throughput on the Stale-Cache-enabled eZ Publish instance has no correlation with the cache clearings, is rather constant compared to the non Stale Cache version, and rarely drowns under 60 requests/sec. Throughput is smoothened, greatly enhancing user experience. Plus, although not appearing on this graph, system resources are preserved ! 
La tendance évidente qui se dégage de ce graphe montre que, chaque fois que le cache est vidé, la réactivité de eZ Publish tombe sous la barre des 40 requêtes/seconde en l'absence du Stale Cache alors qu'elle se maintient en moyenne légèrement au-dessus de 60 requêtes/seconde en sa présence. Ceci est obtenu grâce à la suppression du gestionnaire de file d'attente sous optimisé pour la gestion du cache. Cette faiblesse engendrait de nombreux interblocages de la base de données ainsi que des conditions de compétition entraînant des performances dégradées. Vous remarquerez que le débit de l'instance eZ Publish avec Stale Cache activé n'est pas corrélé à la suppression du cache, qu'il reste plutôt constant comparativement à l'instance sans Stale Cache et qu'il descend rarement sous la barre des 60 requêtes/seconde. Le débit est lissé et améliore grandement l'expérience utilisateur. Par ailleurs, bien que cela n'apparaisse pas sur le graphe, les ressources système sont préservées.

Conclusion

The Stale Cache feature is part of the many low-level improvements brought by eZ Publish 4.1, which do not pop up at first glance, but greatly enhance User experience and dramatically reduce the pressure on the architecture. We do recommend you to enable this feature ( unless your servers run Windows with a PHP version <= 5.3 ) in order for your eZ Publish based application to benefit from this instant booster. 
We are looking forward to hearing your feedback on this ( and your benchmark results ) ! 
La fonctionnalité Stale Cache fait partie des nombreuses améliorations de bas niveau qu'apporte la version 4.1 de eZ Publish et qui, bien que ne sautant pas yeux de prime abord, améliore grandement l'expérience utilisateur tout en réduisant considérablement la pression sur l'architecture. Forts de ce constat, nous vous recommandons de l'activer (à moins que votre serveur tourne sous windows avec une version PHP inférieure à 5.3) pour que vos applications basées sur eZ Publish bénéficient de ce booster immédiat.
Nous attendons avec intérêt vos retours d'expériences sur le sujet (ainsi que vos tests de performances).

Thanks for reading !  
Merci de votre lecture !

Authors / Auteurs

Commentaires