Estou usando o Varnish 3.0.3 (o mais recente até agora), com mais ou menos a instalação padrão, usando o seguinte para armazenamento:
# # Cache file location
VARNISH_STORAGE_FILE=/var/lib/varnish/varnish_storage.bin
#
# # Cache file size: in bytes, optionally using k / M / G / T suffix,
# # or in percentage of available disk space using the % suffix.
VARNISH_STORAGE_SIZE=4000M
#
# # Backend storage specification
VARNISH_STORAGE="file,${VARNISH_STORAGE_FILE},${VARNISH_STORAGE_SIZE}"
#
A maioria das páginas que podem ser armazenadas em cache terá um TTL muito longo. O site com o qual estou trabalhando é enorme e possui milhões de páginas, que não podem caber no tamanho de armazenamento listado acima (4 GB).
Configure para as perguntas:
Vamos supor que todo o espaço de armazenamento esteja cheio e nada no cache tenha expirado ainda (meu TTL é de 2 semanas em cada item no cache).
Estou assumindo que o Ban Lurker é inútil aqui, porque ele excluirá apenas itens que expiraram e nenhum expirou.
Questões:
Dado o cenário acima, o que acontece com o Varnish quando solicitações adicionais chegam para algo que ainda não está no cache? O Varnish faz alguma tentativa de excluir itens mais antigos do cache, independentemente do TTL desses itens? O verniz falha? Aguentar?
Se o Varnish não lidar com o cenário, há algo que eu possa fazer para configurá-lo para lidar melhor com o cenário? (Obviamente, eu poderia diminuir o TTL dos itens no cache, mas estou me perguntando se há alguma sugestão adicional).
Estou vendo nesse cenário que o Varnish efetivamente deixa de responder a solicitações. No momento em que isso acontece, não tenho memória ou CPU na caixa.
Obrigado.
Acompanhamento:
Eu também vi esse post
o que me indicou
que parece indicar tudo "simplesmente acontece" ... mas parece que realmente envia uma solicitação PURGE para o URL, o que pode exigir a adição do material apropriado à sua VCL (consulte https://www.varnish-cache.org/ docs / 3.0 / tutorial / purging.html )
Vou tentar isso e acompanharei se isso resolver o problema.
Respostas:
De acordo com a sua configuração, você parece usar o disco para armazenar o cache de verniz.
Isso não é recomendado ( para desempenho ), a menos que você tenha um bom motivo (como sinni800).
Tente usar a RAM para armazenar o cache de verniz ("malloc" em vez de "arquivo") e reproduzir o problema.
fonte