Résultats de recherche : varnish

Sep 042012
 

Une nouvelle version est sortie. Correction de bug, optimisation de performance
Réf : https://www.varnish-cache.org/releases/varnish-cache-3.0.3

2 commandes ont été ajouté au CLI :
backend.list -> voir la liste des backends et leur état

varnish> backend.list
200
Backend name                   Refs   Admin      Probe
default(127.0.0.1,,82)         2      probe      Healthy 5/5

backend.set_health -> forcer l’état d’un backend, par exemple avec le backend ‘default’ :
– désactiver le backend :

varnish> backend.set_health default sick

– remettre le backend en vérification d’état (probe)

varnish> backend.set_health default auto

– forcer le backend en ligne sans vérification d’état (probe)

varnish> backend.set_health default healthy
Jan 222015
 

Avec Varnish 4 le X-Forwarded-For est ajouté automatiquement avant le vcl_recv :
https://www.varnish-cache.org/docs/trunk/whats-new/upgrading.html#x-forwarded-for-is-now-set-before-vcl-recv

Si vous avez un autre cache ou proxy devant le varnish qui ajoute déjà le X-Forwaded-For et voulez enlever l’IP de ce proxy à la liste X-Forwarded-For. Vous pouvez utiliser ceci :

set req.http.X-Forwarded-For = regsub(req.http.X-Forwarded-For,", ([0-9]{1,3}\.){3}([0-9]{1,3})$","");

ou

set req.http.X-Forwarded-For = regsub(req.http.X-Forwarded-For, "^(.*),([^,]+)$", "\1");
Sep 162014
 

Par défaut, si vous utilisez la configuration en malloc sans option, varnish crée un espace de stockage nommé s0 en ram.
Mais vous pouvez utiliser plusieurs stockages en ram ou sur disque pour garantir des performances en fonction de votre besoin.
Par exemple, pour qu’un site ne remplisse par le cache et impacte sur un autre :
– Dans le fichier /etc/default/varnish

DAEMON_OPTS="
...
-s default=malloc,64m \
-s foo=malloc,128M \
-s bar=malloc,128M \
..."

– Dans vcl_backend_response (4.0) :

if (bereq.http.host ~ "foo") {
       set beresp.storage_hint = "foo";
} else if (bereq.http.host ~ "bar") {
       set beresp.storage_hint = "bar";
} else {
       set beresp.storage_hint = "default";
}

ou vcl_fetch (3.0) :

if (req.http.host ~ "foo") {
       set beresp.storage = "foo";
} else if (req.http.host ~ "bar") {
       set beresp.storage = "bar";
} else {
       set beresp.storage = "default";
}

Par exemple, en fonction du TTL :
– Dans le fichier /etc/default/varnish

DAEMON_OPTS="
...
-s ram=malloc,1G \
-s disk=file,/space/varnish/storage,10G \
..."

– Dans vcl_backend_response (4.0) ou vcl_fetch (3.0) :

sub vcl_backend_response {
       # default storage
       set beresp.storage = "ram";
...
       if (beresp.ttl > 86400s) {
              set beresp.storage = "disk";
       }
}
Juin 252014
 

Voici une mise à jour du template cacti adapté aux nouveaux paramètres de varnishstat (varnish 4.0.1).
Je me suis basé sur ce template prévu pour varnish 3 : https://github.com/glensc/cacti-template-varnish

Le xml : cacti_host_template_varnish_4_0_1.xml
Des graphs supplémentaires ont été ajouté pour les bans, les gzips, les sessions, les threads.

Le script python à ajouter au dossier scripts de cacti : get_varnish_stats.py
Ce script a aussi été modifié pour appeler une clé ssh avec l’option -k ou par défaut « ~/.ssh/id_rsa »

Maj 25/06/2014 : Mise à jour du template 4.0.0 -> 4.0.1 (ajout du graph purges activity)