Objetos de cache de verniz que expiram durante o período de carência de stale-while-revalidate

3

Eu adicionei o Varnish 4.0 a um servidor do CentOS 6 que executa o cPanel para armazenar em cache um site que eu desenvolvi. Estou tentando implementar stale-while-revalidate para garantir que todos os usuários recebam uma versão em cache de uma página, de modo que, se a max-age de 2 minutos tiver expirado, retornar uma cópia obsoleta da página seria suficiente por um período de três meses e o servidor regenera o objeto de cache, se necessário, em segundo plano.

Um exemplo de conjunto de cabeçalhos de resposta sendo retornados é o seguinte:

Accept-Ranges:bytes
Age:539
Cache-Control:public, max-age=120, stale-while-revalidate=7889220
charset:utf-8
Connection:keep-alive
Content-Length:54511
Content-Type:text/html; charset=utf-8
Date:Mon, 14 Sep 2015 12:52:00 GMT
Expires:Mon, 14 Sep 2015 12:54:01 GMT
grace:7889220s
Pragma:cache
X-Cache:HIT
X-Cache-Hits:2

O mecanismo parece funcionar em um ponto. No caso acima, uma cópia em cache é retornada e a próxima solicitação retorna corretamente uma cópia em que o Age está definido como 10, por exemplo (ou seja, 10 segundos se passaram desde que o cache foi redefinido no segundo plano). No entanto, em algum momento no futuro (na ordem das horas), uma solicitação para a mesma página resulta em um erro de cache e a página parece atingir o back-end diretamente, com os cabeçalhos de resposta indicando um Age de 0 Não sei dizer por que uma cópia obsoleta não está sendo devolvida.

Não tenho experiência com o Verniz, e estou usando uma versão do um modelo de amostra 4.0 do Vernnish por Mattias Geniar, modificado para Craft CMS (um PHP CMS no qual o site é construído).

Existe alguma coisa no arquivo VCL que possa estar causando os erros do cache ou é provável que seja um problema de configuração do servidor?

    
por Alex H 14.09.2015 / 20:12

0 respostas

Tags