eZ publish - Publication instantanée et fort trafic web
1. GLOBAL AGENCY : e-communication e-technologie e-systèmes
Publication instantanée et fort trafic
Comment dynamiser la presse en ligne
avec eZ Publish et Varnish ?
Découverte de la nouvelle extension eZ Accelerator
eZ Accelerator 14/10/2011 1
2. SOMMAIRE
PROBLEMATIQUE ET OBJECTIFS
! Gérer une forte charge avec eZ Publish
! Obtenir la meilleure réactivité de publication
ETAT DE L’ART : LES SOLUTIONS EXISTANTES
! Solutions natives eZ
! Classique
! Cluster eZ DFS
! Cache statique
! Solution spécifique
! Publication statique spécifique
! Solution tierce
! Serveur de cache en amont (Varnish ou CDN)
LA SOLUTION NOVACTIVE: UNE NOUVELLE
EXTENSION
! eZ Accelerator
eZ Accelerator 14/10/2011 2
3. Problématique et objectifs
La problématique
! eZ Publish est le CMS Open-Source le plus performant
! Satisfait tous les besoins de gestion de contenu
! Permet tous types de design
! Bénéficie d’une grande évolutivité
! Mais cette souplesse et performance a un prix : beaucoup de sollicitations de la base
de données
! Cela peut créer des problèmes de tenue en charge en cas de forts pics de trafic
Nos objectifs
! Déployer eZ Publish pour des sites de presse à fort trafic
! En tenant la charge
! En préservant l’évolutivité du site
! En recherchant une instantanéité de la publication, challenge actuel de la presse en
ligne
! Eviter de multiplier les développements spécifiques
! Longs et couteux
! Freins à l’évolutivité d’une plate-forme
eZ Accelerator 14/10/2011 3
8. 2. Architecture eZ DFS Classique
Visiteurs
Load Balancer
eZ eZ eZ eZ
Contributeurs
eZ DFS
NFS MySQL
eZ Accelerator 14/10/2011 8
9. 2. Architecture Classique et eZ DFS
Avantages
! Gestion du cache optimale
! Publication instantanée
Inconvénients
! Induit une charge de base de données importante
! Performances liées aux choix de conception et à la qualité du code
! Très dépendant du nombre de contenus et d'utilisateurs/contributeurs
Cas d'utilisation
! Inadaptée pour des objectifs :
! > 100 pages/sec
! > 150 K objets eZ
! Adéquat pour des sites de trafic « limité »
eZ Accelerator 14/10/2011 9
13. 4. Architecture eZ DFS Classique – Multi Front
Visiteurs
Load Balancer
Cache Cache Cache Cache
statique statique statique statique
eZ eZ eZ eZ Contributeurs
eZ DFS
NFS MySQL
eZ Accelerator 14/10/2011 13
14. 4. Architecture eZ DFS + Cache statique
Avantages
! Très bonne tenue en charge
! Ne nécessite pas de serveur de cache
Inconvénients
! Peu flexible : Ne propose pas de solution pour la gestion de blocs
transverses (Ex : Menu du site / footer / ...)
! Vidages de cache très couteux et longs
! Ne génère pas toutes les vues potentielles d'un contenu
! Problématique en mode connecté (Full AJAX ou pas de cache)
! Apache reste très sollicité (et moins performant qu'un Varnish)
Cas d'utilisations
! Adaptée aux sites à fort trafic à contenu institutionnel
! Inadaptée aux sites ayant de nombreux blocs transverses et à forte
contribution,
comme les sites de Médias.
eZ Accelerator 14/10/2011 14
15. Autre solution :
Ajout d’un serveur de cache en amont
Par exemple : Varnish
eZ Accelerator 14/10/2011 15
19. 2. Architecture eZ DFS + Varnish
Load Balancer
Visiteurs
Varnish Varnish
eZ eZ eZ eZ
Contributeurs
eZ DFS
NFS MySQL
eZ Accelerator 14/10/2011 19
20. 2. Architecture eZ DFS + Varnish
Avantages
! Aucun développement n'est à faire (hors partie connectée)
! Flexibilité de gestion du cache
! Transparence avec l'applicatif
Inconvénients
! Comment gérer la partie connectée ?
! Fonctionne sur un principe de TTL court (Time To Live)
! Retarde la publication de la durée de 2xTTL
! Induit des décalages de contenus
! Le dilemme permanent :
! + on augmente le TTL, - c'est réactif
! + on le réduit, - on tient la charge
eZ Accelerator 14/10/2011 20
22. Les objectifs de Novactive
Réunir les avantages de chaque solution…
! Cluster eZ DFS Classique
! Gestion du cache optimale
! Publication instantanée
! Cluster eZ DFS - Cache statique
! Très bonne tenue en charge
! Serveur de cache
! Flexibilité de gestion du cache
! Transparence avec l'applicatif
…et s'affranchir des inconvénients
eZ Accelerator 14/10/2011 22
24. eZ Accelerator
Un Connecteur entre Varnish et eZ Publish
Principe :
! Vider le cache Varnish de manière très ciblée lors de la publication.
! De toutes les URLs relatives :
! à ce contenu
! aux noeuds reliés par le cache de vue (et sa configuration)
! Autrement dit l'intégralité des règles du cache de vue natif sont gérées
dans la purge de cache Varnish !
eZ Accelerator 14/10/2011 24
25. eZ Accelerator
En détails eZ Accelerator c’est :
! une interface de contrôle pour vider des caches spécifiques
! la gestion du Multi-Varnish
eZ Accelerator 14/10/2011 25
26. eZ Accelerator
En détails eZ Accelerator c’est aussi :
! la gestion des multi-siteaccess
! La purge des caches Varnish
! A la publication (prise en compte workflow),
! Ou manuellement via
! un nouveau bouton dans l'interface d'administration
! un script en ligne de commande
eZ Accelerator 14/10/2011 26
29. eZ Accelerator
! Pas de ralentissement de la publication (daemon)
! La gestion du StaleCache pour ne pas cacher une page obsolète dans
Varnish
! Quelques opérateurs de templates pour gérer les ESI
! Un fichier de configuration Varnish 3 optimisé pour eZ Publish
! Une interface disponible en FR et EN
eZ Accelerator 14/10/2011 29
30. En résumé : sans eZ Accelerator
Processus sans l’extension
Visiteurs
TTL très court > charge la
Varnish BDD en cas de fort trafic
eZ eZ eZ eZ
Processus
ViewCache eZ DFS
de
System publication
Contributeurs
NFS MySQL
Purge
ciblée des
caches eZ
eZ Accelerator 14/10/2011 30
31. En résumé : avec eZ Accelerator
Processus avec l’extension
Visiteurs
Purge ciblée TTL très long > faible
eZ Accelerator des caches Varnish charge BDD même en cas de
Varnish
fort trafic
eZ eZ eZ eZ
Processus
ViewCache eZ DFS
de
System publication
Contributeurs
NFS MySQL
Purge
ciblée des
caches eZ
eZ Accelerator 14/10/2011 31
32. Pour les sites simples, eZ Accelerator
fonctionne aussi avec un seul
serveur !
eZ Accelerator 14/10/2011 32
33. eZ Accelerator
Une seul instance eZ Publish
! Un seul Apache
! N SiteAccess
! Une seule base de donnée Visiteurs
L’extension eZ Accelerator
! Configurée avec un seul Varnish
Un Varnish
! Un seul Varnish
! Des TTL très long
Varnish
Pas de mode Cluster
Pas de NFS
eZ Accelerator Contributeurs
Une architecture simple eZ MySQL
Et très efficace !!
eZ Accelerator 14/10/2011 33
34. eZ Accelerator – Usage Avancée
! Gestion des cache-block
! Varnish devient un élément applicatif de la plate-forme
! Grâce au système d'ESI
! Suppression des cache-block au profit de vues ESI
! Mise à jour de ces caches (ancien cache-block) grâce au système de vue.
Exemple:
! Le menu de gauche est unique par noeud de niveau 2,
! Nous voulons :
! Générer ce menu une seule fois par noeud de niveau 2
! Mettre à jour ce menu directement quand une modification est effectuée
eZ Accelerator 14/10/2011 34
35. eZ Accelerator – Utilisation avancée
Pagelayout standard eZ Publish : Avec des cache-block
Pagelayout
Header (cache-block)
Menu
(cache-block)
View
Footer (cache-block)
eZ Accelerator 14/10/2011 35
36. eZ Accelerator – Utilisation avancée
Pagelayout avec eZ Accelerator : Sans cache-block
Pagelayout
Header (/content/view/header/2)
Menu
(/content/view/menu/N)
View
Footer (/content/view/footer/2)
eZ Accelerator 14/10/2011 36
38. eZ Accelerator en Conclusion
Objectif atteint
! En production sur plusieurs sites, eZ Accelerator a déjà prouvé son efficacité
sur des sites à fort trafic :
! Varnish met en cache 98% des requêtes
! Apache ne gère donc que 2% du trafic réel
! La BDD est dédiée au backoffice et à la génération du nouveau contenu
! On constate une très faible sollicitation du NFS
! Au-delà de la rapidité, une sécurité accrue : le Front est Up même en cas de
problème sur un serveur
Une extension certifiée par eZ Systems
! Fonctionnelle ! (En production sur Sport24.com, en déploiement sur un site
de quotidien)
! Facile d’installation
! Disponible dans le eZ Market depuis la mi-octobre 2011
Novactive, depuis Aout 2011, est partenaire Varnish certifié
! Assure le support sur l’extension eZ Accelerator
! Peut conseiller ou intervenir sur le paramétrage de vos serveurs Varnish
eZ Accelerator 14/10/2011 38
39. Adresse : 42-44, rue de Paradis
75010 PARIS
Téléphone : 01.48.24.33.60
Fax : 01.48.24.33.54
Email : info@novactive.com
Site : www.novactive.com
SARL au capital de 132.576 euros
RCS Paris B 408 999 233
eZ Accelerator 14/10/2011 39