eZ publish - Publication instantanée et fort trafic web
-
Upload
gauthier-garnier -
Category
Documents
-
view
1.075 -
download
3
description
Transcript of eZ publish - Publication instantanée et fort trafic web
14/10/2011 1 eZ Accelerator
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
GLOBAL AGENCY : e-communication e-technologie e-systèmes
14/10/2011 2 eZ Accelerator
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
14/10/2011 3 eZ Accelerator
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
Problématique et objectifs
14/10/2011 4 eZ Accelerator
Les solutions natives
eZ Publish 4.X
14/10/2011 5 eZ Accelerator
1. Architecture Classique
14/10/2011 6 eZ Accelerator
1. Architecture Classique
MySQL
Visiteurs
eZ
Contributeurs
14/10/2011 7 eZ Accelerator
2. Architecture eZ DFS Classique
14/10/2011 8 eZ Accelerator
2. Architecture eZ DFS Classique
Load Balancer
eZ DFS
NFS MySQL
Visiteurs
eZ eZ eZ eZ
Contributeurs
14/10/2011 9 eZ Accelerator
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é »
2. Architecture Classique et eZ DFS
14/10/2011 10 eZ Accelerator
3. Architecture Classique + Cache
Statique
14/10/2011 11 eZ Accelerator
3. Architecture Classique + Cache Statique
MySQL
Visiteurs
eZ
Cache
statique
Contributeurs
14/10/2011 12 eZ Accelerator
4. Architecture eZ DFS + Cache Statique
14/10/2011 13 eZ Accelerator
4. Architecture eZ DFS Classique – Multi Front
Load Balancer
eZ DFS
NFS MySQL
Visiteurs
Contributeurs eZ
Cache
statique
eZ
Cache
statique
eZ
Cache
statique
eZ
Cache
statique
14/10/2011 14 eZ Accelerator
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.
4. Architecture eZ DFS + Cache statique
14/10/2011 15 eZ Accelerator
Autre solution :
Ajout d’un serveur de cache en amont
Par exemple : Varnish
14/10/2011 16 eZ Accelerator
1. Architecture Classique + Varnish
14/10/2011 17 eZ Accelerator
1. Architecture Classique + Varnish
MySQL
Visiteurs
eZ
Contributeurs
Varnish
14/10/2011 18 eZ Accelerator
2. Architecture eZ DFS + Varnish
14/10/2011 19 eZ Accelerator
2. Architecture eZ DFS + Varnish
Load Balancer
eZ DFS
NFS MySQL
Visiteurs
eZ eZ eZ eZ
Contributeurs
Varnish Varnish
14/10/2011 20 eZ Accelerator
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
2. Architecture eZ DFS + Varnish
14/10/2011 21 eZ Accelerator
Comment faire mieux ?
14/10/2011 22 eZ Accelerator
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
Les objectifs de Novactive
14/10/2011 23 eZ Accelerator
Notre solution
eZ Accelerator
14/10/2011 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 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 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 27 eZ Accelerator
eZ Accelerator
14/10/2011 28 eZ Accelerator
eZ Accelerator
14/10/2011 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 30 eZ Accelerator
Processus sans l’extension
En résumé : sans eZ Accelerator
eZ DFS
NFS MySQL
eZ eZ eZ eZ
Contributeurs
Varnish
Visiteurs
Processus
de
publication
ViewCache
System
Purge
ciblée des
caches eZ
TTL très court > charge la BDD en cas de fort trafic
14/10/2011 31 eZ Accelerator
Processus avec l’extension
En résumé : avec eZ Accelerator
eZ DFS
NFS MySQL
eZ eZ eZ eZ
Contributeurs
Varnish
Visiteurs
Processus
de
publication
ViewCache
System
Purge
ciblée des
caches eZ
TTL très long > faible charge BDD même en cas de fort trafic
eZ Accelerator Purge ciblée
des caches
Varnish
14/10/2011 32 eZ Accelerator
Pour les sites simples, eZ Accelerator
fonctionne aussi avec un seul
serveur !
14/10/2011 33 eZ Accelerator
Une seul instance eZ Publish ! Un seul Apache
! N SiteAccess
! Une seule base de donnée
L’extension eZ Accelerator ! Configurée avec un seul Varnish
Un Varnish ! Un seul Varnish
! Des TTL très long
Pas de mode Cluster Pas de NFS
Une architecture simple Et très efficace !!
eZ Accelerator
Contributeurs
Visiteurs
eZ Accelerator
MySQL
Varnish
eZ
14/10/2011 34 eZ Accelerator
! 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 – Usage Avancée
14/10/2011 35 eZ Accelerator
Pagelayout standard eZ Publish : Avec des cache-block
eZ Accelerator – Utilisation avancée
View
Pagelayout
Header (cache-block)
Footer (cache-block)
Menu
(cache-block)
14/10/2011 36 eZ Accelerator
Pagelayout avec eZ Accelerator : Sans cache-block
eZ Accelerator – Utilisation avancée
View
Pagelayout
Header (/content/view/header/2)
Footer (/content/view/footer/2)
Menu (/content/view/menu/N)
14/10/2011 37 eZ Accelerator
eZ Accelerator en Conclusion
14/10/2011 38 eZ Accelerator
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 en Conclusion
14/10/2011 39 eZ Accelerator
Adresse : 42-44, rue de Paradis
75010 PARIS
Téléphone : 01.48.24.33.60
Fax : 01.48.24.33.54
Email : [email protected]
Site : www.novactive.com
SARL au capital de 132.576 euros
RCS Paris B 408 999 233