Varnish et son " stockage "

Introduction

Varnish peut cacher les données en mémoire et/ou sur disque.

On peut donc lui dire qu’on lui alloue 512Mo de mémoire pour cacher et aussi 95% de l’espace libre d’une partition en ajoutant les paramètres ci-dessous :

-s malloc,512M \
-s file,/var/lib/varnish/varnish_storage.bin,95%

Le stockage " Transient "

Varnish a aussi par défaut, un cache en mémoire pour les objets de courte durée, ce cache n ‘a pas de limite par défaut, ce fonctionnement par défaut peut donc faire swaper et cracher votre serveur (ou le mien 🙂 )

Ce cache ce nome " Transient Storage "

Pour limiter ce cache et donc contrôler totalement l’utilisation en mémoire de vos varnish ajouter aux options du daemon

-s Transient=malloc,1G \
-s malloc,6G \
-s file,/var/lib/varnish/varnish_storage.bin,95%"

Votre Varnish dans ce cas utilisera 1Go de mémoire pour les objets de faible TTL, 6Go de mémoire pour le reste + le stockage du disque. Varnish utilisera donc au maximum 7Go de ram et ne fera plus swaper votre serveur

Commande utile

Pour lister les stockages actifs de votre instance Varnish

varnishadm storage.list

Effet secondaire

Le compromis est que les fichiers non " pipé " supérieurs a la taille du cache " Transient " défini seront tout simplement tronqué et donc corrompu.

Dans ce cas, le stockage sur disque n’est pas forcément utile, a vous de voir 🙂

Source(s)


Suggestions de lecture :

comments powered by Disqus