Retour d'expérience Varnish Cache chez Eurosport

Preview:

Citation preview

1

Varnish Cache chez Eurosport -

Retour d’expérience

Benjamin Baumann

10/05/2016

2

Intro Varnish basique Varnish réel Questions

INTRODUCTION

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

9

Intro Varnish basique Varnish réel Questions

Varnish Basique : cas de la VOD

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

11

Intro Varnish basique Varnish réel Questions

Varnish Basique : cas de la VOD

12

Intro Varnish basique Varnish réel Questions

Varnish Basique : cas de la VOD

13

Intro Varnish basique Varnish réel Questions

Varnish Basique : cas de la VOD

15

Intro Varnish basique Varnish réel Questions

Varnish Basique : cas de la VOD

Quelques ajustements :

16

Intro Varnish basique Varnish réel Questions

Varnish Basique : cas de la VOD

Quelques ajustements :

17

Intro Varnish basique Varnish réel Analyse

Tweaks et BP Limites Usages exotiques

Questions

Varnish Avancé : cas du web

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

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

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

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

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

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

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

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

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

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

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

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

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

31

Intro Varnish basique Varnish réel Questions

@Zentiltoutou

Recommended