Présentation faite au Paris Varnish Cache Meetup #2. Il s'agit d'un retour d'expérience sur l'utilisation de varnish 3.0 et 4.1 dans l'environnement Eurosport : forte charge, sites dynamiques, forte réactivité.
On y voit pour deux usages : un basique et un plus avancé ce que nous apporte varnish cache ainsi que les bonnes pratiques, les tweaks à faire, les limitations ainsi que les différents usages de Varnish cache.
4. 4
Intro
Varnish basique
Varnish réel
Questions
Varnish en quelques mots
• Reverse proxy
• Focus sur le cache des objets
• Décharge les serveurs web
• Peu gourmand en CPU
• Besoin de RAM/disque
• Versions 3.0/4.1
• Efficace
« Varnish? Ca marche super bien : on l’a mis en place il
y a deux ans et on n’y a pas touché depuis »
entendu au Meetup #1
18. 18
Intro
Varnish basique
Varnish réel
Analyse
Tweaks et BP
Limites
Usages exotiques
Questions
Varnish Avancé : cas du web
• Varnish 3.0 (historique)
• En place depuis 2010
• 2 couches à cause de la limitation du
nombre de ports éphémères
• But = décharger les serveurs webs des
requêtes inutiles
• Akamai puis Varnish servent d’entonnoir
à requêtes
19. 19
Intro
Varnish basique
Varnish réel
Analyse
Tweaks et BP
Limites
Usages exotiques
Questions
Varnish Avancé : cas du web
• 22% de hit !
• En + d’akamai
• 1%-2% CPU
• Sur 4 «brouettes»
• 50+ backend
servers
• 15 backends
20. 20
Intro
Varnish basique
Varnish réel
Analyse
Tweaks et BP
Limites
Usages exotiques
Questions
Varnish Avancé : Tweaks & BP
Tweaks System
• Limiter l’espace Transient (ttl < 10sec)
• Augmenter le range des ports éphémères
• HTTP 1.1 : Keep Alive
Limite les pbs de ports éphémères
• Conf habituelle :
21. 21
Intro
Varnish basique
Varnish réel
Analyse
Tweaks et BP
Limites
Usages exotiques
Questions
Varnish Avancé : Tweaks & BP
BP conf Varnish
• Limiter les Methodes HTTP
• C’est l’applicatif le maître des TTL
Toujours tester si Cache Control existe avant
de le paramétrer
Ne pas toucher au ttl sauf cas exceptionnel
22. 22
Intro
Varnish basique
Varnish réel
Analyse
Tweaks et BP
Limites
Usages exotiques
Questions
Varnish Avancé : Tweaks & BP
BP conf Varnish
• Ne pas faire de conf monolithique
• Ne pas cacher les requêtes incachables (POST,
authentification, cookie…)
25. 25
Intro
Varnish basique
Varnish réel
Analyse
Tweaks et BP
Limites
Usages exotiques
Questions
Varnish Avancé : Tweaks & BP
BP conf Varnish
• Utiliser le Grace Time et le Saint Mode à bon escient
- Grace Time
Temps supplémentaire de
cache après le TTL
- SaintMode
Sert l’objet « grace » plutôt
que requêter le backend
26. 26
Intro
Varnish basique
Varnish réel
Analyse
Tweaks et BP
Limites
Usages exotiques
Questions
Varnish Avancé : Tweaks & BP
BP conf Varnish
• Monitorer
- Hit/Miss Ratio
- Nuked objects
- Nombre de threads
- Conso CPU
27. 27
Intro
Varnish basique
Varnish réel
Analyse
Tweaks et BP
Limites
Usages exotiques
Questions
Varnish Avancé : Limitations
• Varnish 3.0 supprime le header If-Modified-Since
• Pas de revalidation du cache avec IMS
• Absence d’Offload SSL
• Taille RAM limite ce qu’on cache
• Mode filesystem = gros fichier, attention aux nuked
28. 28
Intro
Varnish basique
Varnish réel
Analyse
Tweaks et BP
Limites
Usages exotiques
Questions
Varnish Avancé : Autres usages
• Interdire l’accès à certains bots
• Ne pas cacher les crawls des bots
• Quick fix (astreinte)
• Créer un « bouchon » pour réparer une application
29. 29
Intro
Varnish basique
Varnish réel
Analyse
Tweaks et BP
Limites
Usages exotiques
Questions
Varnish Avancé : Autres usages
• Standardiser les requêtes entrantes et sortantes
(Accept Encoding, suppression de headers)
30. 30
Intro
Varnish basique
Varnish réel
Questions
Conclusion
• Usage basique
- peu à faire « marche tout seul »
- 50% à 80% d’offload
• Usage avancé
- 22% offload, économie de 10-20 serveurs
applicatifs
- Permet de tenir les pics de charge
- Gestion niveau 7 (HTTP) pour devops/astreinte
- Outil en plus de ce qui existe dans l’infra (LB
HAProxy, F5, Citrix Netscaler… CDN Akamai,
Level3 …)
• Attention, serveur intermédiaire jamais transparent