Como o Varnish lida com a falta de armazenamento?

9

Estou usando o Varnish 3.0.3 (o mais recente até este momento) 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 tem milhões de páginas, que não podem caber no tamanho de armazenamento listado acima (4 GB).

Prepare-se para as perguntas:

  • Vamos supor que todo o espaço de armazenamento esteja cheio e que nada no cache tenha expirado ainda (meu TTL é de duas semanas em cada item do cache).

  • Estou assumindo que o Ban Lurker é inútil aqui, porque ele só excluirá itens que estão vencidos e nenhum deles expirou.

Perguntas:

  • 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 antigos do cache, independentemente do TTL desses itens? O verniz falha? Pendure?

  • 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? (Eu poderia obviamente diminuir o TTL dos itens no cache, mas estou querendo saber se há alguma sugestão adicional).

Estou vendo neste cenário que efetivamente o Varnish pára de responder a solicitações. No momento em que isso acontece, não estou sem memória ou com CPU na caixa.

Obrigado.

Acompanhamento:

Eu também vi este post

que me apontou para

que parece indicar que tudo "simplesmente acontece" ... mas parece que realmente envia uma requisição PURGE para o URL, o que pode requerer a adição de um material apropriado ao seu VCL (veja link )

Vou tentar e acompanhar se isso resolver o problema.

    
por user174548 21.05.2013 / 00:51

1 resposta

1

De acordo com sua configuração, você parece usar o disco para armazenar o cache de verniz.

Isto não é recomendado ( para desempenho ) a menos que você tenha uma boa razão (como sinni800).

Tente usar RAM para armazenar cache de verniz ("malloc" em vez de "file") e reproduza o problema.

    
por 29.05.2013 / 16:55