Presentation Varnish

526 vues

Publié le

Présentation d'Aurélien Goutal sur l'utilisation de Varnish pour optimiser les performance d'un site Magento

Publié dans : Internet
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
526
Sur SlideShare
0
Issues des intégrations
0
Intégrations
142
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • 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
  • 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.
  • Presentation Varnish

    1. 1. Aurélien Goutal Directeur Technique www.agence-soon.fr Comment utiliser Varnish pour optimiser les performances de son site Magento ?
    2. 2. 1. QUI SOMMES NOUS ? 2. INTRODUCTION 3. FONCTIONNEMENT SOMMAIRE 4. QUELQUES PIEGES A EVITER 5. UTILISATION AVANCEE 6. CONCLUSION
    3. 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. 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. 5. FONCTIONNEMENT Cas 1 Page non cachée Cas 2 Page cachée
    6. 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. 7. FONCTIONNEMENT EN DETAIL : LES ESI ESI = Zones de contenu dynamiques AJAX – Asynchrone Ou ESI – Synchrone
    8. 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. 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. 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. 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
    12. 12. Aurélien Goutal Directeur Technique www.agence-soon.fr MERCI POUR VOTRE ATTENTION

    ×