SlideShare une entreprise Scribd logo
1  sur  12
Aurélien Goutal
Directeur Technique
www.agence-soon.fr
Comment utiliser Varnish pour optimiser
les performances de son site Magento ?
1. QUI SOMMES NOUS ?
2. INTRODUCTION
3. FONCTIONNEMENT
SOMMAIRE
4. QUELQUES PIEGES A EVITER
5. UTILISATION AVANCEE
6. CONCLUSION
PRÉSENTATION DE L’AGENCE : QUI SOMMES NOUS ?
Agence SOON
100% ecommerce - 25 personnes
UX-UI, développement Magento, PIM
Aurélien GOUTAL
Directeur Technique
INTRODUCTION
Varnish est un proxy inverse (reverse-proxy) HTTP
Stockage en RAM adapté à la hausse de trafic
Son utilisation E-commerce nécessite une attention particulière :
- Zones personnalisées
- Pages à ne pas mettre en cache
- Persistance du cache
FONCTIONNEMENT
Cas 1
Page non cachée
Cas 2
Page cachée
FONCTIONNEMENT EN DETAIL : LE VCL
Fichier de
configuration : VCL
Transformé en
language C et compilé
sur le serveur
Définition de routines
afin de personnaliser
le comportement
FONCTIONNEMENT EN DETAIL : LES ESI
ESI = Zones de
contenu dynamiques
AJAX – Asynchrone
Ou
ESI – Synchrone
FONCTIONNEMENT EN DETAIL : PERSISTANCE
Dernière pièce vendue
Produit épuisé (pushs, listings et fiche produit)
Actions en BO
Modifications devant êtres impactées en FO sans délai
Eléments statiques VS dynamiques
Durée de vie du cache différente en fonction des données à cacher
Les ESI
Blocs ESI header et Caching policy (bienvenue X, minicart, wishlist…)
QUELQUES PIEGES A EVITER
Form_key et la sécurité des formulaires
Login depuis le header, ajout panier
Cookie de session mal paramétré
Domaine et path
Pages mises en cache par erreur
Redirections TPE, modules spécifiques backoffice
Granularité insuffisante
Ventes privées, provenance emailing…
UTILISATION AVANCEE
Varnish 3 vs Varnish 4
Stale cache while revalidate
Utilisation des VMODS
GeoIP, DeviceDetect
Instances Varnish multiples
Mono-instance partagée sur plusieurs frontaux
ou Multi-instances avec partage Redis du cache
CONCLUSION
Etude au cas par cas pour la mise en place sur un projet
ESI à identifier, modules spécifiques FO & BO à analyser…
Souplesse d’utilisation & communauté très active
Vmods directory, extensions Magento, livres blanc…
Performances hors-pair
Benchmark simple avec Siege : 2,4pps SANS / 416,67pps AVEC !
Très haute scalabilité
Multi-instances avec partage Redis du cache entre les instances
Aurélien Goutal
Directeur Technique
www.agence-soon.fr
MERCI POUR VOTRE ATTENTION

Contenu connexe

Similaire à Presentation Varnish

Les bonnes pratiques d'une architecture logicielle et infrastructure de l'héb...
Les bonnes pratiques d'une architecture logicielle et infrastructure de l'héb...Les bonnes pratiques d'une architecture logicielle et infrastructure de l'héb...
Les bonnes pratiques d'une architecture logicielle et infrastructure de l'héb...Oxalide
 
Présentation welcom la webperf by object23
Présentation welcom la webperf by object23Présentation welcom la webperf by object23
Présentation welcom la webperf by object23Brigitte Marandon
 
Competitic solution adaptée pour site internet - numerique en entreprise
Competitic   solution adaptée pour site internet - numerique en entrepriseCompetitic   solution adaptée pour site internet - numerique en entreprise
Competitic solution adaptée pour site internet - numerique en entrepriseCOMPETITIC
 
Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...
Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...
Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...Fujitsu France
 
IT Future 2012 - Fujitsu France solutions NetApp
IT Future 2012 - Fujitsu France solutions NetAppIT Future 2012 - Fujitsu France solutions NetApp
IT Future 2012 - Fujitsu France solutions NetAppFujitsu France
 
IT FUTURE 2011 - Présentation de Net app
IT FUTURE 2011 - Présentation de Net appIT FUTURE 2011 - Présentation de Net app
IT FUTURE 2011 - Présentation de Net appFujitsu France
 
Tout sur les SPA
Tout sur les SPATout sur les SPA
Tout sur les SPAMicrosoft
 
Dossier de competences MA
Dossier de competences MADossier de competences MA
Dossier de competences MAClementine D.
 
[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...
[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...
[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...Nuxeo
 
M1 presentation OSGi
M1 presentation OSGiM1 presentation OSGi
M1 presentation OSGiVelossity
 
Share point 2013 distributed cache
Share point 2013 distributed cacheShare point 2013 distributed cache
Share point 2013 distributed cacheMichael Nokhamzon
 
Amélioration des performances eCommerce - Webinaire par aYaline
Amélioration des performances eCommerce - Webinaire par aYalineAmélioration des performances eCommerce - Webinaire par aYaline
Amélioration des performances eCommerce - Webinaire par aYalineaYaline
 
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...Peak Ace
 
Le meilleur pour votre site WordPress
Le meilleur pour votre site WordPressLe meilleur pour votre site WordPress
Le meilleur pour votre site WordPressAurélien Denis
 
TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...
TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...
TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...Patrick Guimonet
 
IBM FlashSystem : Les bonnes raisons de passer au Flash
IBM FlashSystem : Les bonnes raisons de passer au Flash IBM FlashSystem : Les bonnes raisons de passer au Flash
IBM FlashSystem : Les bonnes raisons de passer au Flash Solutions IT et Business
 
SharePoint dans le Nuage toutes les options 2014-04-14
SharePoint dans le Nuage  toutes les options   2014-04-14SharePoint dans le Nuage  toutes les options   2014-04-14
SharePoint dans le Nuage toutes les options 2014-04-14Patrick Guimonet
 

Similaire à Presentation Varnish (20)

Les bonnes pratiques d'une architecture logicielle et infrastructure de l'héb...
Les bonnes pratiques d'une architecture logicielle et infrastructure de l'héb...Les bonnes pratiques d'une architecture logicielle et infrastructure de l'héb...
Les bonnes pratiques d'une architecture logicielle et infrastructure de l'héb...
 
Présentation welcom la webperf by object23
Présentation welcom la webperf by object23Présentation welcom la webperf by object23
Présentation welcom la webperf by object23
 
Competitic solution adaptée pour site internet - numerique en entreprise
Competitic   solution adaptée pour site internet - numerique en entrepriseCompetitic   solution adaptée pour site internet - numerique en entreprise
Competitic solution adaptée pour site internet - numerique en entreprise
 
Commvault Simpana 10
Commvault Simpana 10Commvault Simpana 10
Commvault Simpana 10
 
Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...
Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...
Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...
 
IT Future 2012 - Fujitsu France solutions NetApp
IT Future 2012 - Fujitsu France solutions NetAppIT Future 2012 - Fujitsu France solutions NetApp
IT Future 2012 - Fujitsu France solutions NetApp
 
Usine à site
Usine à siteUsine à site
Usine à site
 
IT FUTURE 2011 - Présentation de Net app
IT FUTURE 2011 - Présentation de Net appIT FUTURE 2011 - Présentation de Net app
IT FUTURE 2011 - Présentation de Net app
 
Tout sur les SPA
Tout sur les SPATout sur les SPA
Tout sur les SPA
 
Dossier de competences MA
Dossier de competences MADossier de competences MA
Dossier de competences MA
 
[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...
[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...
[Webinaire avec Océane Consulting] Utiliser Vaadin pour intégrer Nuxeo et Lif...
 
M1 presentation OSGi
M1 presentation OSGiM1 presentation OSGi
M1 presentation OSGi
 
Share point 2013 distributed cache
Share point 2013 distributed cacheShare point 2013 distributed cache
Share point 2013 distributed cache
 
Amélioration des performances eCommerce - Webinaire par aYaline
Amélioration des performances eCommerce - Webinaire par aYalineAmélioration des performances eCommerce - Webinaire par aYaline
Amélioration des performances eCommerce - Webinaire par aYaline
 
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...
 
Le meilleur pour votre site WordPress
Le meilleur pour votre site WordPressLe meilleur pour votre site WordPress
Le meilleur pour votre site WordPress
 
TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...
TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...
TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...
 
IBM FlashSystem : Les bonnes raisons de passer au Flash
IBM FlashSystem : Les bonnes raisons de passer au Flash IBM FlashSystem : Les bonnes raisons de passer au Flash
IBM FlashSystem : Les bonnes raisons de passer au Flash
 
Presentation symfony
Presentation symfonyPresentation symfony
Presentation symfony
 
SharePoint dans le Nuage toutes les options 2014-04-14
SharePoint dans le Nuage  toutes les options   2014-04-14SharePoint dans le Nuage  toutes les options   2014-04-14
SharePoint dans le Nuage toutes les options 2014-04-14
 

Presentation Varnish

  • 1. Aurélien Goutal Directeur Technique www.agence-soon.fr Comment utiliser Varnish pour optimiser les performances de son site Magento ?
  • 2. 1. QUI SOMMES NOUS ? 2. INTRODUCTION 3. FONCTIONNEMENT SOMMAIRE 4. QUELQUES PIEGES A EVITER 5. UTILISATION AVANCEE 6. CONCLUSION
  • 3. PRÉSENTATION DE L’AGENCE : QUI SOMMES NOUS ? Agence SOON 100% ecommerce - 25 personnes UX-UI, développement Magento, PIM Aurélien GOUTAL Directeur Technique
  • 4. INTRODUCTION Varnish est un proxy inverse (reverse-proxy) HTTP Stockage en RAM adapté à la hausse de trafic Son utilisation E-commerce nécessite une attention particulière : - Zones personnalisées - Pages à ne pas mettre en cache - Persistance du cache
  • 5. FONCTIONNEMENT Cas 1 Page non cachée Cas 2 Page cachée
  • 6. FONCTIONNEMENT EN DETAIL : LE VCL Fichier de configuration : VCL Transformé en language C et compilé sur le serveur Définition de routines afin de personnaliser le comportement
  • 7. FONCTIONNEMENT EN DETAIL : LES ESI ESI = Zones de contenu dynamiques AJAX – Asynchrone Ou ESI – Synchrone
  • 8. FONCTIONNEMENT EN DETAIL : PERSISTANCE Dernière pièce vendue Produit épuisé (pushs, listings et fiche produit) Actions en BO Modifications devant êtres impactées en FO sans délai Eléments statiques VS dynamiques Durée de vie du cache différente en fonction des données à cacher Les ESI Blocs ESI header et Caching policy (bienvenue X, minicart, wishlist…)
  • 9. QUELQUES PIEGES A EVITER Form_key et la sécurité des formulaires Login depuis le header, ajout panier Cookie de session mal paramétré Domaine et path Pages mises en cache par erreur Redirections TPE, modules spécifiques backoffice Granularité insuffisante Ventes privées, provenance emailing…
  • 10. UTILISATION AVANCEE Varnish 3 vs Varnish 4 Stale cache while revalidate Utilisation des VMODS GeoIP, DeviceDetect Instances Varnish multiples Mono-instance partagée sur plusieurs frontaux ou Multi-instances avec partage Redis du cache
  • 11. CONCLUSION Etude au cas par cas pour la mise en place sur un projet ESI à identifier, modules spécifiques FO & BO à analyser… Souplesse d’utilisation & communauté très active Vmods directory, extensions Magento, livres blanc… Performances hors-pair Benchmark simple avec Siege : 2,4pps SANS / 416,67pps AVEC ! Très haute scalabilité Multi-instances avec partage Redis du cache entre les instances

Notes de l'éditeur

  1. Varnish est un serveur de cache populaire qui joue le rôle de proxy inverse ("reverse proxy") entre les serveurs d'applications (Web/HTTP dans notre cas) et les clients. Il est utilisé par de très grands sites tel que : Wikipedia, Facebook, Pinterest, LeMonde, linternaute, JournalDuNet... Mais son principal point fort, c'est qu'il peut stocker son cache dans la mémoire RAM de votre serveur ce qui permet de réduire considérablement vos Disk I/O lorsque vous avez une hausse de trafic. L'utilisation de Varnish sur des projets ecommerce nescessite une attention particulière : - Zones personalisées en fonction de la navigation de l'internaute : header, panier... - Pages non cachées : panier, checkout, espace client... - Perssistance du cache : produits épuisés à afficher comme tel sur listings et fiche produit, modifications en BO
  2. Cas n° 1: Un visiteur demande une page, une requête est donc envoyée au serveur. Varnish intercepte cette requête et vérifie si la page demandée est dans son cache. La page demandée n'est pas encore dans le cache de Varnish, il passe alors la requête au serveur web. Le serveur web traite la requête et génère la page demandée puis l'envoie à Varnish. Varnish récupère alors la page et la met en cache puis l'envoie au visiteur. Cas n° 2: Un autre visiteur (ou le même) demande la même page. Il envoie donc une requête au serveur et Varnish traite la requête puis vérifie si la page demandée est dans son cache. La page demandée est dans le cache de Varnish, il envoie alors directement la page demandée au visiteur, sans solliciter le serveur Web.