básico

instalação

  • apt-get install varnish
  • lenny tem 1.x, lenny-backports tem 2.x (usar pacote do lenny-backports)

configuração

/etc/varnish/default.vcl

--- /tmp/varnish.odl   2010-08-05 16:54:31.000000000 -0300
+++ /etc/varnish/default.vcl   2010-08-05 16:54:36.000000000 -0300
@@ -6,7 +6,7 @@
 # 
  backend default {
      .host = "127.0.0.1";
-     .port = "8080";
+     .port = "3000";
  }
 # 
 # Below is a commented-out copy of the default VCL logic.  If you

testando

  • inciar noosfero na porta 3000
  • reiniciar o varnish pra atualizar a configuração
  • começar a brincar setando expiração dentro do noosfero pro varnish fazer cache

próximos passos - nginx

pra reduzir o uso de memória e tentar fazer as coisas rodarem ainda mais rápido

logging

uma vez que o varnish vai ficar na frente do apache, é importante que o varnish quarde logs de acesso já que eles precisam ser analisados para saber o tamanho do tráfego. Pra isso precisamos habiltar o serviço de logging do varnish que gera logs no mesmo formato do apache (que é o formato que a maioria das ferramentas de análise esperam), chamado varnishncsa:

  1. editar /etc/default/varnishncsa
  2. descomentar a linha que tem VARNISHNCSA_ENABLED=1
  3. iniciar o serviço: sudo invoke-rc.d varnishncsa start

estratégia de caching

  • por default, o varnish não vai fazer cache se houver cookies envolvidos na requisição (cabeçalho Cookie na requisição ou Set-Cookie na resposta)

integração com aplicações

instalação num servidor debian stable

apt-get install -t lenny-backports varnish

no /etc/apache2/ports.conf, trocar Listen 80 por Listen 127.0.0.1:8080

colocar o varnish na porta 80: trocar -a :6081 por -a :80 no /etc/default/varnish

reiniciar o apache e reiniciar o varnish

  • problema: raiz do site dá 404 Not Found!!!!
  • solução:
    • trocar <VirtualHost *:80> por <VirtualHost *:8080> nos virtual hosts!
    • trocar NameVirtualHost *:80 por NameVirtualHost *:8080 no /etc/apache2/ports.conf !

iniciar o servidor de log do varnish:
  • descomentar VARNISHNCSA_ENABLED=1 no /etc/default/varnishncsa
  • reiniciar o serviço: invoke-rc.d varnishncsa restart
  • o /var/log/varnish/varnishncsa.log contém um log num formato compatível com apache

-- AntonioTerceiro - 05 Aug 2010

pendência: ler com calma http://www.engineyard.com/blog/2010/varnish-its-not-just-for-wood-anymore/ (dicas de configuração para preparar o varnish para aguentar porrada).

-- AntonioTerceiro - 17 Sep 2010
Topic revision: r10 - 17 Sep 2010, AntonioTerceiro
 

This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Wiki-Colivre? Send feedback