मुझे पता चला है कि मैं अपनी वीसीएल फ़ाइल में निम्नानुसार टीटीएल को वार्निश में सेट कर सकता हूं:
sub vcl_fetch {
# 1 minute
set obj.ttl = 1m;
}
लेकिन डिफ़ॉल्ट सेटिंग क्या है (बैकेंड सर्वर मान रहा है कि कोई कैश-कंट्रोल हेडर नहीं है)?
मुझे पता चला है कि मैं अपनी वीसीएल फ़ाइल में निम्नानुसार टीटीएल को वार्निश में सेट कर सकता हूं:
sub vcl_fetch {
# 1 minute
set obj.ttl = 1m;
}
लेकिन डिफ़ॉल्ट सेटिंग क्या है (बैकेंड सर्वर मान रहा है कि कोई कैश-कंट्रोल हेडर नहीं है)?
जवाबों:
यह डिफ़ॉल्ट टेम्पलेट में है:
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);
}
तो, 120 सेकंड।
varnish-<version>
अपनी वार्निश रिलीज़ के लिए संस्करण देखने के लिए टैग का उपयोग करें ।
डिफॉल्ट TTL को -t
कमांडलाइन स्विच के माध्यम से वार्निश कमांड से गुजारा जा सकता है और संभवत: आपके फाइल सिस्टम पर एक प्रॉपर्टी फाइल से सॉर्ट किया गया है । CentOS सिस्टम पर मैं देख रहा हूँ कि यह किसके उपयोग DEFAULT_TTL
से सेट है /etc/sysconfig/varnish
।
आप इस तरह के varnishadm का उपयोग कर लाइव सेटिंग देख सकते हैं,
varnishadm param.show default_ttl
दरअसल, डिफ़ॉल्ट VCL लॉजिक का पालन न करने योग्य वस्तुओं से संबंधित है।
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);
}
इसका मतलब है "यदि ऑब्जेक्ट अस्वीकार्य नहीं है - इस ऑब्जेक्ट के लिए क्लाइंट अनुरोधों को सीधे और एक साथ 2 मिनट के लिए वापस भेजने के लिए, पास न करें"
Https://stackoverflow.com/questions/12691489/varnish-hit-for-pass-means पर अधिक पढ़ें