Varnish3, plone4: discutindo a relação

Preview:

Citation preview

@cleberjsantoscleber@simplesconsultoria.com.br

Varnish 3, Plone 4: Discutindo a Relação.

South America 2012Brasília - Brasil

Plone Symposium

@cleberjsantoscleber@simplesconsultoria.com.br

VARNISH

Makes WebSites Fly 3

@cleberjsantoscleber@simplesconsultoria.com.br

VARNISH [3]- Tudo que você precisa saber.

Inicialmente desenvolvido e liberado na versão 1.0 pelo dinamarquês Poul Henning Kamp‐ .

Open source, distribuído sob a licença BSD.

Acelerador HTTP projetado para sites web dinâmicos com alto volume de conteúdo.

Servidor de proxy reverso.

Balanceador de cargas.

@cleberjsantoscleber@simplesconsultoria.com.br

VARNISH [3]- Algumas das principais características.

Alta performance.

Controle sobre cada resposta às requisições.

Controle sobre o que deverá ser cacheado.

Ferramentas de apoio e gerenciamento do sistema de cache.

Log centralizado em memória.

@cleberjsantoscleber@simplesconsultoria.com.br

VARNISH [3]- Alta performance.

Desenvolvido especificamente para servir de proxy reverso para sistemas de gerenciamento de conteúdo lentos.

Foco 100% em performance.

Capacidade de trabalhar em 32 ou 64 bits aproveitando ao máximo cada operação do processador.

Multi-cpu e multi-core.

@cleberjsantoscleber@simplesconsultoria.com.br

VARNISH [3]- Controle sobre cada resposta às requisições.

Podemos sobrescrever o TTL dos pacotes, adicionar ou remover cabeçalhos, remover cookies, reescrever urls e invalidar objetos no cache.

Suporte a balanceamento de carga inclusive com checagem da saúde dos servidores.

Capacidade de trabalhar com múltiplos arquivos de configuração VCL.

Controle sobre o que deverá ser cacheado.

@cleberjsantoscleber@simplesconsultoria.com.br

VARNISH [3]- Controle sobre o que deverá ser cacheado.

Implementa parcialmente suporte à ESI (edge side includes), 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 parte diferentes de uma mesma página.

@cleberjsantoscleber@simplesconsultoria.com.br

VARNISH [3]- Ferramentas de apoio e gerenciamento do sistema de cache.

Interface telnet para gerenciamento da aplicação CLI (Command Line Interface).

Ferramentas de gerenciamento de administração em modo texto (console).

VarnishHist, VarnishLog, VarnishCsa, VarnishStat, VarnishTest, VarnishSizes,Varnishtop.

@cleberjsantoscleber@simplesconsultoria.com.br

VARNISH [3]- Log centralizado em memória.

Para evitar chamadas de gravação em disco desnecessárias, todo o gerenciamento do log é feito em memória.

VarnishLog e VarnishCsa para uma análise mais profunda.

Possibilidades de armazenagem de logs no padrão Apache por exemplo.

@cleberjsantoscleber@simplesconsultoria.com.br

VARNISH [3]- Não foram incluídas funcionalidade extras normalmente encontradas em outros servidores de proxy, com suporte a diversos protocolos.

@cleberjsantoscleber@simplesconsultoria.com.br

VARNISH [3]- Por que não tem suporte SSL?

Há uma série de razões pelas quais não há planos em vistaque irá crescer suporte SSLno Varnish.

Primeiro, eu tenho para ver ainda uma biblioteca de SSL,onde o código fonte não é umPesadelo.

Enquanto escrevo isto, a árvorede 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)...

@cleberjsantoscleber@simplesconsultoria.com.br

VARNISH [3]- Por que não tem suporte SSL?

https://www.varnish-cache.org/docs/trunk/phk/ssl.html

Second, it is not exactly the best source-code in the world. Even if I have no idea what it does, there are many aspect of it that scares me.

Take this example in a comment, randomly found in s3-srvr.c:

/* Throw away what we have done so far in the current handshake, * which will now be aborted. (A full SSL_clear would be too much.) * I hope that tmp.dh is the only thing that may need to be cleared * when a handshake is not completed ... */

@cleberjsantoscleber@simplesconsultoria.com.br

VARNISH [3]

Edge-Side-Includes (”ESI”)

@cleberjsantoscleber@simplesconsultoria.com.br

VARNISH [3]

TTL = 1h

(PASS)

TTL = 5min

TTL = 1 month

TTL = 2d

@cleberjsantoscleber@simplesconsultoria.com.br

@cleberjsantoscleber@simplesconsultoria.com.br

PLONE [4.2]

- Python 2.7 agora é suportado.

- Totalmente eggficado

- Plone mais rápido que o Plone

- Mais uma camadas de velocidade com Chameleon

@cleberjsantoscleber@simplesconsultoria.com.br

PLONE [4.2]

- Diazo.

- plone.app.caching

Recommended