É possível executar o verniz com memória e armazenamento em disco?

7

Estou interessado em maximizar os acertos e a eficiência do cache para um site que muda lentamente. O host virtual não tem uma quantidade enorme de RAM, mas eu gostaria de usar o que está disponível para verniz, mas voltar ao cache de disco se não houver memória suficiente.

É possível fazer isso com uma única instância de verniz? Os documentos descrevem o armazenamento de "arquivo" e "malloc" como opções distintas .

    
por user67641 23.01.2011 / 05:05

2 respostas

9

Use o método malloc . Ele tentará colocar tudo na RAM e o kernel irá trocá-lo, se necessário. Desta forma, você está usando memória e disco juntos.

Ao mesmo tempo, file é muito melhor que malloc quando você começa a bater no disco. Para mais informações, consulte:

por 23.01.2011 / 05:17
7

Você precisa nomear o armazenamento, respectivamente, da seguinte maneira e em vcl, você especifica o armazenamento de back-end que deseja usar com beresp.storage = storage_name . .

Varnish 3. * opções de processo

DAEMON_OPTS="-a :80 \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -S /etc/varnish/secret \
             -s foo=malloc,512m \
             -s bar=file,/var/lib/varnish/varnish_storage.bin,512m"

vcl v3

sub vcl_fetch {
    if (req.url ~ "html") {
       set beresp.storage = "foo";
       set beresp.http.x-storage = "foo";
    } else {
       set beresp.storage = "bar";
       set beresp.http.x-storage = "bar";
    }
    return (deliver);
}

Para o Varnish v4, você pode seguir as instruções do blog oficial link

    
por 11.01.2015 / 19:40

Tags