verniz sem cache direito

1

Estou tentando configurar o verniz (a seguir: default_varnish3.vcl_.txt )

[alexus@wcmisdlin02 ~]$ rpm -q varnish
varnish-3.0.3-1.el5.centos.x86_64
[alexus@wcmisdlin02 ~]$ 

Eu estou fazendo um primeiro hit através do meu navegador (a página carrega bem), então eu faço isso de novo através do curl em minha máquina local:

[alexus@wcmisdlin02 ~]$ curl -I alexustest:6081
HTTP/1.1 200 OK
Server: Apache/2.2.15 (Red Hat)
X-Powered-By: PHP/5.3.3
Cache-Control: public, max-age=1800
Last-Modified: Thu, 11 Apr 2013 19:27:15 +0000
Expires: Sun, 11 Mar 1984 12:00:00 GMT
Vary: Cookie,Accept-Encoding
Content-Type: text/html; charset=utf-8
Date: Thu, 11 Apr 2013 19:27:16 GMT
X-Varnish: 1355259954
Age: 0
Via: 1.1 varnish
Connection: keep-alive
X-Served-By: wcmisdlin02.uftmasterad.org
X-Cache: MISS

ele me mostra X-Cache: MISS , quando realmente deveria ter sido um HIT (já que este é o segundo hit), então eu faço isso de novo (3ª vez e novamente da minha estação de trabalho Linux).

[alexus@wcmisdlin02 ~]$ curl -I alexustest:6081
HTTP/1.1 200 OK
Server: Apache/2.2.15 (Red Hat)
X-Powered-By: PHP/5.3.3
Cache-Control: public, max-age=1800
Last-Modified: Thu, 11 Apr 2013 19:27:15 +0000
Expires: Sun, 11 Mar 1984 12:00:00 GMT
Vary: Cookie,Accept-Encoding
Content-Type: text/html; charset=utf-8
Date: Thu, 11 Apr 2013 19:27:19 GMT
X-Varnish: 1355259955 1355259954
Age: 3
Via: 1.1 varnish
Connection: keep-alive
X-Served-By: wcmisdlin02.uftmasterad.org
X-Cache: HIT
X-Cache-Hits: 1

[alexus@wcmisdlin02 ~]$ 

e agora é um HIT, parece que é caching por cliente ou algo assim. Como eu disse, estou usando o default_varnish3.vcl_.txt , para que você possa veja minha configuração como essa, eu só alterei as informações de back-end para corresponder ao meu ambiente e também adicionei o seguinte código (para produzir HIT / MISS):

[root@wcmisdlin02 varnish]# cat vcl_deliver/resp.vcl 
set resp.http.X-Served-By = server.hostname;
if (obj.hits > 0) {
    set resp.http.X-Cache = "HIT";  
    set resp.http.X-Cache-Hits = obj.hits;
} else {
    set resp.http.X-Cache = "MISS"; 
}
[root@wcmisdlin02 varnish]# 

* UPDATE *

varnishncsa's:

10.52.208.221 - - [11/Apr/2013:15:45:35 -0400] "HEAD http://alexustest:6081/ HTTP/1.1" 200 0 "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.13.1.0 zlib/1.2.3 libidn/1.18 libssh2/1.2.2"
10.100.0.35 - - [11/Apr/2013:15:45:38 -0400] "HEAD http://alexustest:6081/ HTTP/1.1" 200 0 "-" "curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8r zlib/1.2.5"
    
por alexus 11.04.2013 / 21:40

1 resposta

1

first hit through my browser (page loads fine), then I do it again through curl

Mas você disse ao webcache que você serviria resultados diferentes com base nos cookies e na codificação de conteúdo:

Vary: Cookie,Accept-Encoding

Você excluiu todos os cookies do seu navegador antes do primeiro pedido? Além disso, como você fez a solicitação do navegador? Um recarregamento tem um comportamento muito diferente de uma atualização.

(BTW, se você vai variar o seu por cookie e você está usando as sessões, então você deve fazer o seu controle de cache prover - caso contrário, você está fazendo o verniz trabalhar duro para nenhum benefício, na verdade você pode realmente abrandar o seu site) .

    
por 11.04.2013 / 22:03

Tags