Outils pour utilisateurs

Outils du site


varnish

u

Varnish

En-tête HTTP

Contient des informations que varnish va lire pour déterminer la façon de mettre en cache le document. Une source d'information importante pour la associer varnish et application de manière optimale.

Les en-tetes peuvent être récupérés de la manière suivante:

GET -H "Host: localhost" -Used URL

Il est important que l'application renvoie l'en-tête Cache-Control: max-age=TTL

L'en-tête Age est rajouté par varnish et indique le temps passé par le document dans le cache.

Pour que varnish prenne en compte le Pragma: nocache, il faut rajouter les directives suivantes dans le fichier de conf de varnish:

if (beresp.http.Pragma ~ "nocache") {
   pass;
}

On peut également corriger une application défaillante en fixant via vanish le TTL des documents:

sub vcl_fetch {
    if (req.url ~ "^/legacy_broken_cms/") {
        set beresp.ttl = 5d;
    }
}

Accelerateur web, par la mise en place d'un cache.

Installation par l'intermédiaire des paquets.

Configuration de base

port par défaut, adresse du backend et taille du cache via /etc/varnish/default.vcl

activation et démarrage des 3 services:

tests

Avec la configuration par défaut, sur un simple script php faisant un echo phpinfo() le test

ab -c 10 -n 10000 

donne:

fichier nb req normal/ nb req/s cache
index.html 2100
echo phpinfo() 350 1800
php + session_start 332 240

cookies

Pas de mise en cache si présence de l'en-tête “Set-Cookie” (d'où les mauvaises performances induites par un appel systématique à session_start()

LE site suivant indique une méthode d'adaptation d'une application avec varnish. La session n'est réellement crée que si des données de sessions existent réellement.

Commandes diverses

vider le cache: varnishadm -T 127.0.0.1:6082 url.purge . -S /etc/varnish/secret

Fine-tuning

varnish top -i txurl permet de déterminer les url les plus demandées.

la commande varnishlog affiche en temps réel les opérations réalisées par varnish.

varnishlog -co url permet notamment de filtrer les requêtes relatives à url # vim: set filetype=dokuwiki:

varnish.txt · Dernière modification: 2015/10/06 20:06 (modification externe)