Pourquoi la configuration built-in de Varnish est efficace

Découvrez pourquoi il est souvent préférable d’utiliser la configuration built-in de Varnish plutôt que de créer des configurations complexes.

Utiliser la configuration built-in

Comme nous l’indique ops42 dans son article http://ops42.wordpress.com/2012/11/14/varnish-is-smarter-than-you/. pdf de la page qui n’existe plus 🙁 , Varnish fonctionne très bien avec sa configuration “built-in”.

Au fur et à mesure, beaucoup de sysops (comme moi) ont mis en place, à tort, des configurations Varnish de plus en plus complexes.

La seule configuration à mettre en place est celle liée à vos backends.

Objectif d’une modification de VCL

Toute modification de la VCL sera donc un hotfix pour corriger un problème lié à votre application.

Exemple

OpenPhoto a actuellement un bug : un CSS est généré à chaque hit, cela ajoute au minimum 5 secondes au temps de chargement de la page.

Dans ce cas, j’ai ajouté dans les différentes VCL la configuration suivante :

VCL Fetch

sub vcl_fetch {
    # Fix https://github.com/photo/frontend/issues/1104
    if (req.http.host ~ 'photos\.domain\.tld' && req.url ~ '^/assets/themes/fabrizio1.0/stylesheets/lessc') {
        unset beresp.http.set-cookie;
        unset beresp.http.expires;
        unset beresp.http.Cache-Control;
        set beresp.http.Cache-Control = 'public';
    }
}

VCL Deliver

sub vcl_deliver {
    # Fix https://github.com/photo/frontend/issues/1104
    if (req.http.host ~ 'photos\.domain\.tld' && req.url ~ '^/assets/themes/fabrizio1.0/stylesheets/lessc') {
        unset resp.http.Pragma;
    }
}

Proposition d’une configuration de base

Catégories : Linux 

Suggestions de lecture :