Differences

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

Link to this comparison view

saisp:labs:09:contents:01 [2013/11/11 00:46]
127.0.0.1 external edit
saisp:labs:09:contents:01 [2014/05/05 13:11] (current)
alexandru.carp
Line 1: Line 1:
-==== 01. Lorem ipsum ====+==== 01. [20p] Utilitate Varnish ​====
  
-...+Dorim să urmărim efectul folosirii Varnish față de accesarea directă a unui server webVom folosi utilitarul ''​httperf''​ pentru a evalua comportamentul accesului web folosind Varnish sau fără Varnish.
  
 +Pe mașina virtuală ''​varnish''​ (accesibilă folosind ''​ssh -l root 192.168.0.3''​) este instalat Varnish. Este configurat să asculte conexiuni pe portul 80, lucru pe care îl putem verifica folosind comanda:<​code bash>
 +root@varnish:​~#​ netstat -tlpn | grep varnish
 +tcp        0      0 0.0.0.0:​80 ​             0.0.0.0:​* ​              ​LISTEN ​     2366/​varnishd
 +tcp        0      0 127.0.0.1:​6082 ​         0.0.0.0:​* ​              ​LISTEN ​     2364/​varnishd
 +tcp6       ​0 ​     0 :::80                   :::​* ​                   LISTEN ​     2366/​varnishd
 +tcp6       ​0 ​     0 ::​1:​6082 ​               :::*                    LISTEN ​     2364/​varnishd
 +</​code>​
 +
 +Portul ''​6082''​ este portul de administrare. Configurația aferentă se găsește în fișierul ''/​etc/​default/​varnish''​. Putem folosi un editor/​viewer sau comanda de mai jos pentru a investiga configurația:<​code bash>
 +root@varnish:​~#​ grep -A 4 DAEMON_OPTS /​etc/​default/​varnish | grep -v '​^#'​
 +--
 +--
 +DAEMON_OPTS="​-a :80 \
 +             -T localhost:​6082 \
 +             -f /​etc/​varnish/​default.vcl \
 +             -S /​etc/​varnish/​secret \
 +             -s malloc,​256m"​
 +--
 +--
 +</​code>​
 +
 +Pentru a urmări utilitatea folosirii Varnish, vrem să ne conectăm la un server pe legătură directă și prin intermediul Varnish. Alegem serverul ''​ocw.cs.pub.ro''​. Pentru aceasta, serviciul Varnish a fost configurat să folosească pe post de back end ''​ocw.cs.pub.ro''​. Putem consulta această configurație în fișierul ''/​etc/​varnish/​default.vcl''​ folosind un editor/​viewer sau comanda de mai jos:<​code bash>
 +root@varnish:​~#​ grep -A 3 '​backend default'​ /​etc/​varnish/​default.vcl ​
 +backend default {
 +    .host = "​ocw.cs.pub.ro";​
 +    .port = "​80";​
 +}
 +</​code>​
 +
 +Configurația de mai sus înseamnă că pentru cererile venite către serviciul Varnish se vor realiza cereri mai departe către serverul ''​ocw.cs.pub.ro''​. Cererile vor fi cache-urite astfel încât viitoare cereri vor fi servite direct din cache.
 +
 +Evaluarea o vom face de pe sistemul gazdă (''​mjolnir''​). Pentru acesta va trebui să configurăm sistemul astfel încât cererile către ''​ocw.cs.pub.ro''​ să ajungă la mașina virtuală ''​varnish''​. Pentru aceasta, folosiți un editor și adăugați în fișierul ''/​etc/​hosts''​ linia:<​code>​
 +192.168.0.3 ocw.cs.pub.ro
 +</​code>​
 +Cu linia de mai sus, cererile către ''​ocw.cs.pub.ro''​ vor ajunge la mașina virtulă ''​varnish''​. Putem verifica acest lucru folosind comanda:<​code>​
 +student@mjolnir:​~$ ping ocw.cs.pub.ro
 +PING ocw.cs.pub.ro (192.168.0.3) 56(84) bytes of data.
 +64 bytes from ocw.cs.pub.ro (192.168.0.3):​ icmp_seq=1 ttl=64 time=0.361 ms
 +^C
 +</​code>​
 +
 +Pentru început puteți să vă conectați din browserul de pe stația gazdă (''​mjolnir''​) și să accesați URL-ul aferent: ''<​nowiki>​http://​ocw.cs.pub.ro</​nowiki>''​. O să vedeți că primul acces durează mai mult dar viitoarele accese ale aceleiași pagini sunt mai rapide.
 +
 +Pentru a evalua acest lucru, instalați utilitarul ''​httperf''​ pe stația gazdă folosind comanda:<​code bash>
 +student@mjolnir:​~$ sudo apt-get install httperf
 +</​code>​
 +Apoi măsurați conexiunile realizate pentru pagina de la URL-ul ''<​nowiki>​http://​ocw.cs.pub.ro</​nowiki>''​ folosidn comanda:<​code bash>
 +student@mjolnir:​~$ httperf --server=ocw.cs.pub.ro --wsess=2000,​10,​2 --rate 300 --timeout 5
 +</​code>​
 +Observați în output informații precum ''​Connection rate'',​ ''​Request rate'',​ ''​Net I/​O''​.
 +
 +Ca să comparăm trebuie să ne conectăm în mod direct la serverul ''​ocw.cs.pub.ro''​. Pentru acesta ștergeți (sau comentați) linia adăugată anterior în fișierul ''/​etc/​hosts''​ și rulați din nou comanda ''​httperf''​ de mai sus. Observați diferențele parametrilor și, astfel, utilitatea folosirii Varnish ca accelerator pentru conexiuni web.
  
saisp/labs/09/contents/01.1384123598.txt.gz · Last modified: 2014/04/28 15:39 (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