Quelqu'un sait pourquoi nous obtenons un taux de réussite du cache très bas en moyenne lorsque nous utilisons Wordpress (avec Varnish et Nginx) ?
Les statistiques de Varnish montrent :
Taux de réussite : 10 100 518 Moyenne de réussite : 0.4143 0.2690 0.1948
Une idée de comment résoudre ce problème ? Mon fichier default.vcl de Varnish est :
# Il s'agit d'un fichier de configuration VCL de base pour Varnish. Voir la page de manuel vcl(7)
# pour plus de détails sur la syntaxe et la sémantique VCL.
#
# Définition du backend par défaut. Définissez ceci pour pointer vers votre serveur de contenu
#
backend default {
.host = "77.81.240.177";
.port = "8080";
}
acl purge {
"77.81.240.177";
}
sub vcl_recv {
# Ajouter un en-tête unique contenant l'adresse du client
remove req.http.X-Forwarded-For;
set req.http.X-Forwarded-For = req.http.rlnclientipaddr;
# Assurons-nous que nous ne compressons pas déjà les formats compressés.
if (req.http.Accept-Encoding) {
if (req.url ~ "\.(jpg|png|gif|gz|tgz|bz2|mp3|mp4|m4v)(\?.*|)$") {
remove req.http.Accept-Encoding;
} elsif (req.http.Accept-Encoding ~ "gzip") {
set req.http.Accept-Encoding = "gzip";
} elsif (req.http.Accept-Encoding ~ "deflate") {
set req.http.Accept-Encoding = "deflate";
} else {
remove req.http.Accept-Encoding;
}
}
if (req.request == "PURGE") {
if (!client.ip ~ purge) {
error 405 "Non autorisé.";
}
return(lookup);
}
if (req.url ~ "^/$") {
unset req.http.cookie;
}
}
sub vcl_hit {
if (req.request == "PURGE") {
set obj.ttl = 0s;
error 200 "Purgé.";
}
}
sub vcl_miss {
if (req.request == "PURGE") {
error 404 "Pas en cache.";
}
if (!(req.url ~ "wp-(login|admin)")) {
unset req.http.cookie;
}
if (req.url ~ "^/[^?]+.(jpeg|jpg|png|gif|ico|js|css|txt|gz|zip|lzma|bz2|tgz|tbz|html|htm)(\?.|)$") {
unset req.http.cookie;
set req.url = regsub(req.url, "\?.$", "");
}
if (req.url ~ "^/$") {
unset req.http.cookie;
}
}
sub vcl_fetch {
if (req.url ~ "^/$") {
unset beresp.http.set-cookie;
}
if (!(req.url ~ "wp-(login|admin)")) {
unset beresp.http.set-cookie;
}
if (req.url ~ "^/w00tw00t") {
error 403 "Non permis";
}
}