varnish3, plone4: discutindo a relação
DESCRIPTION
Administradores de sites sabem bem a importância de ter um bom servidor de cache, melhor ainda se este servidor permite manipulações e reescritas de URLs além de servir como servidor Web. E para quem usa o Plone pode aproveitar-se dos recursos oferecidos pelo Varnish 3.TRANSCRIPT
-‐ Um pouco sobre mim.-‐ Varnish 3.-‐ Plone 4.-‐ Varnish 3 e Plone 4.-‐ Testes ao vivo e em cores.
Quem é você abestado?
-‐ Programador desde 2001.
-‐ Auto-‐didata e militante de So>ware Livre.
-‐ Apaixonado por linguagens anDgas como Pascal,
Cobol e Assembly.
-‐ Viciado em chocolate (CHARGE) e café.
-‐ Não dispenso uma bela macarronada.
-‐ E Simplificador...
Varnish [3]
-‐ Tudo que você precisa saber.
l Varnish ou no português Verniz foi inicialmente desenvolvido e liberado na versão 1.0 pelo dinamarquês Poul-‐Henning Kamp.
l É open source, distribuído sob a licença BSD.
l É um acelerador HTTP projetado para sites web dinâmicos com alto volume de conteúdo, projetado desde o início como um acelerador HTTP.
Varnish [3]
-‐ Algumas das principais caracterísDcas.
l Alta performance.
l Controle sobre cada resposta às requisições.
l Controle sobre o que deverá ser cacheado.
l Ferramentas de apoio e gerenciamento do sistema de cache.
l Log centralizado em memória.
Varnish [3]
-‐ Alta performance
l Desenvolvido especificamente para servir de proxy reverso para sistemas de gerenciamento de conteúdo lentos.
l Foco 100% em performance.
l Capacidade de trabalhar em 32 ou 64 bits aproveitando ao máximo cada operação do processador.
l MulD-‐cpu e mulD-‐core.
Varnish [3]
-‐ Controle sobre cada Resposta às requisições.
l Podemos sobrescrever o TTL dos pacotes, adicionar ou remover cabeçalhos, remover cookies, reescrever urls e invalidar objetos no cache.
l Suporte a balanceamento de carga inclusive com checagem da saúde dos servidores.
l Capacidade de trabalhar com múlDplos arquivos de configuração VCL. ...
Varnish [3]
-‐ Controle sobre o que deverá ser cacheado.
l Implementa parcialmente ESI, a qual permite se definir, no código da aplicação, como deverá funcionar o cache para as diversas partes de uma página Web. Com isso é possível definir propriedades de cache diferentes para partes diferentes de uma mesma página.
...
Varnish [3]
-‐ Ferramentas de apoio e gerenciamento do sistema de cache.
l Interface telnet para gerenciamento da aplicação CLI (Command Line Interface).
l Ferramentas de grenciamento de admintração em modo texto (console) VarnishHist, VarnishLog, VarnishCsa, VarnishStat, VarnishTest, VarnishSizes e Varnishtop.
Varnish [3]
-‐ Log centralizado em memória.
l Para evitar chamadas de gravação em disco desnecessárias, todo o gerenciamento do log é feito em memória.
l VarnishLog e VarnishCsa para uma análise mais profunda.
l Possíbilidades de amarzenagem de logs no padrão Apache por exemplo.
Varnish [3]
Não foram incluídas funcionalidade extras normalmente encontradas em outros servidores de proxy, com suporte a diversos protocolos.
Varnish [3]https://www.varnish-cache.org/docs/trunk/phk/ssl.html
Há uma série de razões pelas quais não há planos em vista que irá crescer suporte SSL no Varnish.
-‐ Primeiro, eu tenho para ver ainda uma biblioteca de SSL, onde o código fonte não é um pesadelo.
-‐ Enquanto escrevo isto, a árvore de código fonte do Varnish contém 82,595 de linhas .c e arquivos .h, incluindo JEmalloc (12,236 linhas) e Zlib (12,344 linhas)...
Plone [4]
Plone [4]-‐ Dispensa apresentações, mas...
-‐ Poderoso.
-‐ Super rápido, cerca de 50% mais rápido do Plone 3 em geral.
-‐ Bonito.
-‐ Elegante, minimalista, moderno e fácil de personalizar.
-‐ Fácil de usar.
-‐ Tem uma grande comunidade.
...
Varnish [3] e Plone [4]
l Um pouco de VCL para o Plone …
sub vcl_recv {
set req.grace = 120s;
if (req.hwp.host ~ "^(www.)?meuplone.com.br(:[0-‐9]+)?$") {
set req.hwp.host = "www.meuplone.com.br";
set req.backend = plone;
...
Eu disse que é na prá3ca?
Varnish [3] e Plone [4]
-‐ ACHO QUE AINDA TENHO TEMPO :-‐D
l VMODs
l plone.app.caching
l Dicas.