VCL dosyamda TTL'yi Varnish olarak ayarlayabileceğimi öğrendim:
sub vcl_fetch {
# 1 minute
set obj.ttl = 1m;
}
Ancak, varsayılan ayar nedir (arka uç sunucunun önbellek denetimi üstbilgisi ayarlanmadığı varsayılarak)?
VCL dosyamda TTL'yi Varnish olarak ayarlayabileceğimi öğrendim:
sub vcl_fetch {
# 1 minute
set obj.ttl = 1m;
}
Ancak, varsayılan ayar nedir (arka uç sunucunun önbellek denetimi üstbilgisi ayarlanmadığı varsayılarak)?
Yanıtlar:
Bu varsayılan şablonda:
sub vcl_fetch {
if (beresp.ttl <= 0s ||
beresp.http.Set-Cookie ||
beresp.http.Vary == "*") {
/*
* Mark as "Hit-For-Pass" for the next 2 minutes
*/
set beresp.ttl = 120 s;
return (hit_for_pass);
}
return (deliver);
}
Yani, 120 saniye.
varnish-<version>
Vernik sürümünüzün sürümünü görmek için etiketleri kullanın .
Varsayılan TTL, vernik komutuyla -t
komut satırı anahtarı üzerinden geçirilebilir ve muhtemelen dosya sisteminizdeki bir özellik dosyasından kaynaklanır. O kullanılarak ayarlanır en CentOS sistemde Bakıyorum DEFAULT_TTL
dan /etc/sysconfig/varnish
.
Varnishadm kullanarak canlı ayarı görebilirsiniz,
varnishadm param.show default_ttl
Aslında, varsayılan VCL mantığının izlenmesi, önbelleklenemez nesnelerle ilgilidir.
sub vcl_fetch {
if (beresp.ttl <= 0s ||
beresp.http.Set-Cookie ||
beresp.http.Vary == "*") {
/*
* Mark as "Hit-For-Pass" for the next 2 minutes
*/
set beresp.ttl = 120 s;
return (hit_for_pass);
}
return (deliver);
}
"nesne önbelleğe alınamıyorsa - bu nesnenin doğrudan ve aynı anda 2 dakika boyunca aynı anda yeniden gönderilmesi için istemci isteklerini iletin, sıraya almayın" anlamına gelir.
Https://stackoverflow.com/questions/12691489/varnish-hit-for-pass-means adresinde daha fazla bilgi alabilirsiniz.