Я настроил Varnish на высококлассном выделенном сервере с WHM, на котором работает около 10-13 веб-сайтов, все на WordPress. Я вижу, что уровень попадания действительно очень низок, а уровень промахов очень высок у «лакинистов». Кроме того, когда я делаю varnishtop -i txurl
Я просто вижу URL «/» (а не URL каждого веб-сайта), запрашиваемый у Apache с очень высокой скоростью. Ниже приведен отрывок:
4.02 TxURL /
1.00 TxURL /wp-content/uploads/2014/12/034kj343.jpg
0.96 TxURL /wp-content/uploads/2014/12/dfkkj30434.jpg
0.96 TxURL /wp-content/uploads/2014/10/3403402022.jpg
Я считаю, что лак должен даже кэшировать домашнюю страницу каждого отдельного сайта и отправлять обратно клиенту, а не запрашивать у бэкэнда. Любые предложения, пожалуйста?
ХОРОШО. Мне удалось найти решение. Вот мой текущий файл VCL, который работает очень хорошо.
sub vcl_recv{
if (req.http.Cookie && req.http.Cookie ~ "(wordpress_|PHPSESSID)")
{ return(pass); }
if (req.url ~ "wp-admin|wp-login") {
return (pass);
}
else{
unset req.http.Cookie;
} #since we can not unset all, but leave wp-admin
}
sub vcl_backend_response {
if (bereq.url !~ "wp-admin|wp-login") {
unset beresp.http.Set-Cookie;
}
#beware that you are ignoreing all the headers now:
unset beresp.http.Cache-Control;
# cache everything for 60 minutes
if(beresp.ttl <= 0s) { set beresp.ttl = 3600s; }
}
Других решений пока нет …