O documento discute a relação entre Varnish 3 e Plone 4. Apresenta breves descrições sobre Varnish 3, suas principais características como acelerador HTTP de alto desempenho, e sobre Plone 4, seu poderoso sistema de gerenciamento de conteúdo. Em seguida, discute como Varnish 3 pode ser configurado através de VCL para acelerar sites baseados em Plone 4.
1. Varnish
3
e
Plone
4,
discu3ndo
a
relação.
Python
Brasil
[7]
São
Paulo
-‐
Brasil
@cleberjsantos
cleber@simplesconsultoria.com.br
2. -‐
Um
pouco
sobre
mim.
-‐
Varnish
3.
-‐
Plone
4.
-‐
Varnish
3
e
Plone
4.
-‐
Testes
ao
vivo
e
em
cores.
@cleberjsantos
cleber@simplesconsultoria.com.br
3. 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...
@cleberjsantos
cleber@simplesconsultoria.com.br
4. 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.
@cleberjsantos
cleber@simplesconsultoria.com.br
5. 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.
@cleberjsantos
cleber@simplesconsultoria.com.br
6. 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.
@cleberjsantos
cleber@simplesconsultoria.com.br
7. 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.
...
@cleberjsantos
cleber@simplesconsultoria.com.br
8. 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.
...
@cleberjsantos
cleber@simplesconsultoria.com.br
9. 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.
@cleberjsantos
cleber@simplesconsultoria.com.br
10. 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.
@cleberjsantos
cleber@simplesconsultoria.com.br
11. Varnish
[3]
Não
foram
incluídas
funcionalidade
extras
normalmente
encontradas
em
outros
servidores
de
proxy,
com
suporte
a
diversos
protocolos.
@cleberjsantos
cleber@simplesconsultoria.com.br
12. Varnish
[3]
Why no SSL?
@cleberjsantos
cleber@simplesconsultoria.com.br
13. 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)...
@cleberjsantos
cleber@simplesconsultoria.com.br
15. 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.
...
@cleberjsantos
cleber@simplesconsultoria.com.br
16. Varnish
[3]
e
Plone
[4]
@cleberjsantos
cleber@simplesconsultoria.com.br
17. 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?
@cleberjsantos
cleber@simplesconsultoria.com.br
18. Varnish
[3]
e
Plone
[4]
-‐
ACHO
QUE
AINDA
TENHO
TEMPO
:-‐D
l VMODs
l plone.app.caching
l Dicas.
@cleberjsantos
cleber@simplesconsultoria.com.br
19. Obrigado.
Python
Brasil
[7]
São
Paulo
-‐
Brasil
@cleberjsantos
cleber@simplesconsultoria.com.br