Como manter o cache de verniz preenchido após o backend por um período prolongado?

1

Temos o Varnish 3.0.2 rodando no Linux da Amazon e funciona muito bem. Temos um ttl de 48 horas para a maioria das páginas de conteúdo e muito mais para imagens, PDFs etc.

Este fim de semana nós pegamos o backend para alguma manutenção, então eu levantei o ttl para 5 dias no começo da semana. Eu tinha assumido que qualquer coisa no cache continuaria a ser servida por até 5 dias, mas para nosso desapontamento nós verificamos varnishstat esta manhã e o cache estava quase completamente vazio e o verniz estava servindo mensagens de "página não encontrada".

Eu sei que isso não é o que o Varnish foi projetado para fazer, mas por que ele redefiniria o cache quando o back-end estava inativo? E como posso preveni-lo da próxima vez?

Update 2012-06-11 : Depois de procurar nas mensagens / var / log /, vejo a cada 3 horas ou mais:

Jun  9 03:56:31 idea-varnish varnishd[1128]: Manager got SIGINT
Jun  9 03:56:33 idea-varnish varnishd[6708]: Platform: Linux,3.2.18-1.26.6.amzn1.x86_64,x86_64,-smalloc,-smalloc,-hcritbit
Jun  9 03:56:33 idea-varnish varnishd[6708]: child (6709) Started
Jun  9 03:56:33 idea-varnish varnishd[6708]: Child (6709) said Child starts

Eu acho que este é o servidor falhando e limpando todos os objetos na memória. Eu acabei de instalar o rp -debuginfo mas não tenho certeza se isso realmente mostrará algo mais.

Eu supus que poderíamos voltar ao armazenamento baseado em disco durante o tempo de inatividade programado? ou seria um acidente como este limpe isso de qualquer maneira?

    
por Nic Cottrell 09.06.2012 / 11:39

1 resposta

1

O processo de verniz talvez reinicie? Há um contador de tempo de atividade em vernizstat. Sob certas circunstâncias, o encadeamento de trabalhador de verniz pode morrer, mas é reiniciado imediatamente. Quando tudo está funcionando bem, isso pode passar despercebido, mas com o tempo de retaguarda planejado pode ser bastante inconveniente.

    
por 09.06.2012 / 15:40