Differences

This shows you the differences between two versions of the page.

Link to this comparison view

saisp:labs:09:contents:05 [2013/11/11 00:46]
127.0.0.1 external edit
saisp:labs:09:contents:05 [2014/05/05 13:02] (current)
razvan.deaconescu
Line 1: Line 1:
-==== 05. Lorem ipsum ====+==== 05. [15p] Utilizare VCL ====
  
-... 
  
 +Pentru a realiza configurări în Varnish se folosește sintaxa [[https://​www.varnish-cache.org/​docs/​3.0/​reference/​vcl.html|VCL]] (//Varnish Configuration Language//​). Aceasta permite încărcarea dinamică de configurații într-o instanța Varnish în rulare.
  
 +Folosind fișierul de configurare ''/​etc/​varnish/​default.vcl'',​ configurați un TTL de 1 oră pentru fișierele din directorul ''/​data/''​ servite de Varnish. Celelalte fișiere/​pagini servite vor folosi valoarea implicită a TTL-ului (de ''​120''​ de secunde).
 +
 +<note tip>
 +Urmăriți indicațiile de [[http://​stackoverflow.com/​a/​10346942|aici]].
 +
 +Reporniți serviciul ''​varnish''​ după realizarea configurației.
 +</​note>​
 +
 +Așteptați 3-4 minute după primul acces la o pagină din directorul ''/​data/''​ și apoi reaccesați-o. O configurație corectă va înseamna un ''​hit''​ în pagină (cache-ul de o oră nu va fi expirat).
 +
 +<​solution -hidden>
 +Folosim fișierul de configurare ''/​etc/​varnish/​default.vcl''​ pentru a specifica un TTL de 1 oră pentru fișierele din directorul ''/​data/''​ servite de Varnish:<​code>​
 +root@varnish:​~#​ vi /​etc/​varnish/​default.vcl
 +root@varnish:​~#​ cat /​etc/​varnish/​default.vcl
 +[...]
 +sub vcl_fetch {
 +  if (req.url ~ "​^/​data/"​) {
 +    set beresp.ttl = 1h;
 +  }
 +}
 +[...]
 +</​code>​
 +Repornim serviciul ''​varnish'':<​code>​
 +root@varnish:​~#​ service varnish restart
 +</​code>​
 +Pornim ''​varnishlog''​ și realizăm un prim acces la pagina ''/​data/​100k.dat'':<​code>​
 +root@varnish:​~#​ varnishlog -i VCL_Call
 +   12 BackendOpen ​ b default 192.168.0.3 42743 192.168.0.2 80
 +   12 BackendReuse b default
 +   11 SessionOpen ​ c 192.168.0.1 38323 :80
 +   11 VCL_call ​    c recv
 +   11 VCL_call ​    c hash
 +   11 VCL_call ​    c miss
 +   11 VCL_call ​    c fetch
 +   11 VCL_call ​    c deliver
 +   11 ReqEnd ​      c 36649746 1399270868.505576372 1399270868.517827511 0.000154495 0.005080462 0.007170677
 +</​code>​
 +După 4 minute realizăm un nou acces la acea pagină și vedem că obținem ''​hit''​ în output-ul ''​varnishlog'',​ deci pagina se găsește încă în cache:<​code>​
 +   11 SessionClose c timeout
 +   11 SessionOpen ​ c 192.168.0.1 38353 :80
 +   11 VCL_call ​    c recv
 +   11 VCL_call ​    c hash
 +   11 VCL_call ​    c hit
 +   11 VCL_call ​    c deliver
 +   11 ReqEnd ​      c 36649747 1399271122.729481459 1399271122.743085384 0.000142336 0.000067949 0.013535976
 +</​code>​
 +</​solution>​
saisp/labs/09/contents/05.1384123598.txt.gz · Last modified: 2014/04/28 15:54 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0