O Squid MISSes recarrega páginas que devem ser armazenadas em cache

1

Eu tenho lutado contra isso por um tempo, mas não consigo entender por que uma solicitação não está sendo armazenada em cache.

Cabeçalhos de resposta:

HTTP/1.1 200 OK
Date: Tue, 20 Aug 2013 16:42:12 GMT
Server: Apache/2.2.23 (Unix) mod_ssl/2.2.23 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 mod_perl/2.0.6 Perl/v5.8.8
Expires: Tue, 20 Aug 2013 22:32:41 GMT
Pragma: public
Cache-Control: max-age=21029, public, must-revalidate, proxy-revalidate
X-Powered-By: W3 Total Cache/0.9.3
Vary: 
Last-Modified: Tue, 20 Aug 2013 16:32:41 GMT
Content-Type: text/html; charset=UTF-8
X-Cache: MISS from proxy
X-Cache-Lookup: MISS from proxy:3128
Transfer-Encoding: chunked
Via: 1.1 proxy (squid/3.2.13)
Connection: keep-alive

Os campos-chave que estou observando são: Data, Expira, Pragma, Cache-Control, X-Cache e X-Cache-Lookup

Isso me diz: "Ei, por favor, coloque em cache", mas a lula diz "MISS" em repetidos pedidos.

O refresh_pattern relevante é:

refresh_pattern . 0 20% 4320 reload-into-ims

O que estou perdendo?

    
por GraduateOfAcmeU 20.08.2013 / 18:52

1 resposta

3

O Squid tinha um bug com pedidos não armazenados em cache que tinham o cabeçalho "Vary" - esta questão tem uma descrição detalhada do problema com mais algumas informações, mas aqui está a versão curta:

By analyzing the logs I was able to determine that the hash lookup key used during the store (i.e. the initial request) is different than the one used during the subsequent requests. This is why the subsequent lookups are cache misses.

A partir de agora, o erro foi corrigido .

    
por 20.08.2013 / 19:47

Tags