varnish3, plone4: discutindo a relação

17
@cleberjsantos [email protected] Varnish 3, Plone 4: Discutindo a Relação. South America 2012 Brasília - Brasil Plone Symposium

Upload: cleber-j-santos

Post on 19-Jul-2015

2.922 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Varnish3, plone4: discutindo a relação

@[email protected]

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

South America 2012Brasília - Brasil

Plone Symposium

Page 2: Varnish3, plone4: discutindo a relação

@[email protected]

VARNISH

Makes WebSites Fly 3

Page 3: Varnish3, plone4: discutindo a relação

@[email protected]

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.

Page 4: Varnish3, plone4: discutindo a relação

@[email protected]

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.

Page 5: Varnish3, plone4: discutindo a relação

@[email protected]

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.

Page 6: Varnish3, plone4: discutindo a relação

@[email protected]

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.

Page 7: Varnish3, plone4: discutindo a relação

@[email protected]

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.

Page 8: Varnish3, plone4: discutindo a relação

@[email protected]

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.

Page 9: Varnish3, plone4: discutindo a relação

@[email protected]

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.

Page 10: Varnish3, plone4: discutindo a relação

@[email protected]

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

Page 11: Varnish3, plone4: discutindo a relação

@[email protected]

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)...

Page 12: Varnish3, plone4: discutindo a relação

@[email protected]

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 ... */

Page 13: Varnish3, plone4: discutindo a relação

@[email protected]

VARNISH [3]

Edge-Side-Includes (”ESI”)

Page 14: Varnish3, plone4: discutindo a relação

@[email protected]

VARNISH [3]

TTL = 1h

(PASS)

TTL = 5min

TTL = 1 month

TTL = 2d

Page 16: Varnish3, plone4: discutindo a relação

@[email protected]

PLONE [4.2]

- Python 2.7 agora é suportado.

- Totalmente eggficado

- Plone mais rápido que o Plone

- Mais uma camadas de velocidade com Chameleon

Page 17: Varnish3, plone4: discutindo a relação

@[email protected]

PLONE [4.2]

- Diazo.

- plone.app.caching