Retour d'expérience Varnish Cache chez Eurosport

31
1 Varnish Cache chez Eurosport - Retour d’expérience Benjamin Baumann 10/05/2016

Transcript of Retour d'expérience Varnish Cache chez Eurosport

Page 1: Retour d'expérience Varnish Cache chez Eurosport

1

Varnish Cache chez Eurosport -

Retour d’expérience

Benjamin Baumann

10/05/2016

Page 2: Retour d'expérience Varnish Cache chez Eurosport

2

Intro Varnish basique Varnish réel Questions

INTRODUCTION

Page 4: Retour d'expérience Varnish Cache chez Eurosport

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

Page 5: Retour d'expérience Varnish Cache chez Eurosport
Page 6: Retour d'expérience Varnish Cache chez Eurosport
Page 7: Retour d'expérience Varnish Cache chez Eurosport
Page 8: Retour d'expérience Varnish Cache chez Eurosport
Page 9: Retour d'expérience Varnish Cache chez Eurosport

9

Intro Varnish basique Varnish réel Questions

Varnish Basique : cas de la VOD

Page 10: Retour d'expérience Varnish Cache chez Eurosport

10

Intro Varnish basique Varnish réel Questions

Varnish Basique : cas de la VOD

• Serveurs physiques

• 8 CPUs • 16Go RAM • 2.3To de carte Fusion IO

• Filtre les requêtes inutiles (50-80%)

• Configuration très basique

Page 11: Retour d'expérience Varnish Cache chez Eurosport

11

Intro Varnish basique Varnish réel Questions

Varnish Basique : cas de la VOD

Page 12: Retour d'expérience Varnish Cache chez Eurosport

12

Intro Varnish basique Varnish réel Questions

Varnish Basique : cas de la VOD

Page 13: Retour d'expérience Varnish Cache chez Eurosport

13

Intro Varnish basique Varnish réel Questions

Varnish Basique : cas de la VOD

Page 15: Retour d'expérience Varnish Cache chez Eurosport

15

Intro Varnish basique Varnish réel Questions

Varnish Basique : cas de la VOD

Quelques ajustements :

Page 16: Retour d'expérience Varnish Cache chez Eurosport

16

Intro Varnish basique Varnish réel Questions

Varnish Basique : cas de la VOD

Quelques ajustements :

Page 17: Retour d'expérience Varnish Cache chez Eurosport

17

Intro Varnish basique Varnish réel Analyse

Tweaks et BP Limites Usages exotiques

Questions

Varnish Avancé : cas du web

Page 18: Retour d'expérience Varnish Cache chez Eurosport

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

Page 19: Retour d'expérience Varnish Cache chez Eurosport

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

Page 20: Retour d'expérience Varnish Cache chez Eurosport

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 :

Page 21: Retour d'expérience Varnish Cache chez Eurosport

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

Page 22: Retour d'expérience Varnish Cache chez Eurosport

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…)

Page 23: Retour d'expérience Varnish Cache chez Eurosport

23

Intro Varnish basique Varnish réel Analyse

Tweaks et BP Limites Usages exotiques

Questions

Varnish Avancé : Tweaks & BP

BP conf Varnish

• Gérer une mini API de Ban/Purge

Page 24: Retour d'expérience Varnish Cache chez Eurosport

24

Intro Varnish basique Varnish réel Analyse

Tweaks et BP Limites Usages exotiques

Questions

Varnish Avancé : Tweaks & BP

BP conf Varnish

• Espacer suffisamment les healthcheck/probe

Page 25: Retour d'expérience Varnish Cache chez Eurosport

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

Page 26: Retour d'expérience Varnish Cache chez Eurosport

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

Page 27: Retour d'expérience Varnish Cache chez Eurosport

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

Page 28: Retour d'expérience Varnish Cache chez Eurosport

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

Page 29: Retour d'expérience Varnish Cache chez Eurosport

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)

Page 30: Retour d'expérience Varnish Cache chez Eurosport

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

Page 31: Retour d'expérience Varnish Cache chez Eurosport

31

Intro Varnish basique Varnish réel Questions

@Zentiltoutou