04. [15p] Caching în Varnish

Vrem să vedem cum se comportă cache-ul în Varnish. Intrările în Varnish sunt cache-uite pentru o perioadă de timp înainte să expire. După expirarea timpului respectiv, se realizează o nouă cerere către serverul web pentru obținerea din nou a paginii.

Timpul de viață al cache-ului este dat de o variabilă TTL internă a Varnish. Valoarea sa este în mod implicit configurată la 120 de secunde. Putem determina acest lucru prin intermediul comenzii:

root@varnish:~# varnishadm param.show default_ttl

Valorea implicită, afișată de comanda de mai sus este 120 de secunde. Această valoare poate fi configurată în fișierul /etc/default/varnish; este vorba de directiva VARNISH_TTL.

Ca să urmărim expirarea cache-ului, vom folosi comanda varnishlog în forma de mai jos:

root@varnish:~# varnishlog -i VCL_Call

Apoi facem cereri către fișierele cu extensia .dat menționate în exercițiul anterior.

Observăm că apare un mesaj ce conține cuvântul miss atunci când informația nu se găsește în cache, și apoi un mesaj ce conține cuvântul hit când informația este în cache. După 120 de secunde cache-ul va expira și atunci un acces va genera un miss.

După ce ați generat un mesaj miss pe fișierul 100k.dat, adică informația nu era, dar acum este, în cache, rescrieți fișierul pe serverul web, în directorul /var/www/data/100k.dat folosind comanda:

root@web:/var/www/html/data# dd if=/dev/urandom of=100k.dat bs=100k count=1

Apoi accesați din nou fișierul și urmăriți output-ul comenzii varnishlog. Veți observa că fișierul a fost obținut din cache. Până când cache-ul nu expiră orice modificare a fișierului nu va fi vizibilă în cache.

Pentru a preveni rămânerea în cache a unui obiect dat, se poate folosi purging sau banning. După ce au ajuns în cache fișierele cu extensia .dat, faceți ban acelor fișiere pentru a fi recitite de pe server.

Urmăriți indicațiile de aici. Folosiți comanda varnishadm pentru a accesa CLI-ul de configurare Varnish.

saisp/labs/09/contents/04.txt · Last modified: 2014/05/05 13:02 by razvan.deaconescu
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