52557 1362229287 11 RxRequest c GET 11 RxURL c /index.php 11 RxProtocol c HTTP/1.1 11 RxHeader c User-Agent: Wget/1.13 (darwin11.2.0) 11 RxHeader c Accept: */* 11 RxHeader c Host: 192.168.33.10:6081 11 RxHeader c Connection: Keep-Alive 11 VCL_call c recv lookup 11 VCL_call c hash 11 Hash c /index.php 11 Hash c 192.168.33.10:6081 11 VCL_return c hash 11 VCL_call c miss fetch 11 Backend c 13 default default varnishlog 30 client does: GET /index.php HTTP/1.1
127.0.0.1 80 13 TxRequest b GET 13 TxURL b /index.php 13 TxProtocol b HTTP/1.1 13 TxHeader b User-Agent: Wget/1.13 (darwin11.2.0) 13 TxHeader b Accept: */* 13 TxHeader b Host: 192.168.33.10:6081 13 TxHeader b X-Forwarded-For: 192.168.33.1 13 TxHeader b X-Varnish: 1362229287 13 TxHeader b Accept-Encoding: gzip 13 RxProtocol b HTTP/1.1 13 RxStatus b 200 13 RxResponse b OK 13 RxHeader b Date: Tue, 05 Mar 2013 09:29:58 GMT 13 RxHeader b Server: Apache/2.2.22 (Ubuntu) 13 RxHeader b X-Powered-By: PHP/5.3.10-1ubuntu3.5 13 RxHeader b Cache-Control: max-age=5 13 RxHeader b Vary: Accept-Encoding 13 RxHeader b Content-Encoding: gzip 13 RxHeader b Content-Length: 76 13 RxHeader b Content-Type: text/html 13 Fetch_Body b 4(length) cls 0 mklen 1 13 Length b 76 13 BackendReuse b default varnishlog 31 varnish does a request to the backend
1362475798 0 5 11 VCL_call c fetch deliver 11 ObjProtocol c HTTP/1.1 11 ObjResponse c OK 11 ObjHeader c Date: Tue, 05 Mar 2013 09:29:58 GMT 11 ObjHeader c Server: Apache/2.2.22 (Ubuntu) 11 ObjHeader c X-Powered-By: PHP/5.3.10-1ubuntu3.5 11 ObjHeader c Cache-Control: max-age=5 11 ObjHeader c Vary: Accept-Encoding 11 ObjHeader c Content-Encoding: gzip 11 ObjHeader c Content-Type: text/html 11 Gzip c u F - 76 57 80 80 537 11 VCL_call c deliver deliver 11 TxProtocol c HTTP/1.1 11 TxStatus c 200 11 TxResponse c OK 11 TxHeader c Server: Apache/2.2.22 (Ubuntu) 11 TxHeader c X-Powered-By: PHP/5.3.10-1ubuntu3.5 11 TxHeader c Cache-Control: max-age=5 11 TxHeader c Vary: Accept-Encoding 11 TxHeader c Content-Type: text/html 11 TxHeader c Transfer-Encoding: chunked 11 TxHeader c Date: Tue, 05 Mar 2013 09:29:58 GMT 11 TxHeader c X-Varnish: 1362229287 11 TxHeader c Age: 0 11 TxHeader c Via: 1.1 varnish 11 TxHeader c Connection: keep-alive 11 Gzip c U D - 76 57 80 80 537 11 Length c 0 11 ReqEnd c 1362229287 1362475798.096096039 1362475798.097167492 0.000139713 0.000934362 0.000137091 11 SessionClose c EOF 11 StatSess c 192.168.33.1 52557 0 1 1 0 0 1 300 0 varnishlog 32 varnish delivers
de client ➡ bereq - Request naar de backend ➡ beresp - Response van de backend ➡ obj - Het object dat uit de cache komt ➡ Niet elk object is overal en altijd beschikbaar! 38
bestaat in de cache. 46 sub vcl_hash { hash_data(req.url); if (req.http.host) { hash_data(req.http.host); } else { hash_data(server.ip); } return (hash); }
➡ Nu heb je een “Req” en “Obj” object om mee te werken ➡ return(pass): Vraag opnieuw aan de backend ➡ return(deliver): Lever het cached object af aan de client 47
gevonden ➡ Nu heb je een “Req” en “BeReq” object om mee te werken. ➡ return(pass): Vraag opnieuw aan de backend ➡ return(fetch):Vraag opnieuw aan de backend (rechtstreeks, dus niet door vcl_pass) 48
nog niet de body) ➡ Nu heb je een “Req” en “BeReq” en “BeResp” object om mee te werken. ➡ return(deliver): Haalt body op van backend en stored dit in “Obj” cq Cache ➡ return(hit_for_pass): 49