SlideShare uma empresa Scribd logo
1 de 17
Varnish 3, Plone 4: Discutindo a Relação.


                           Plone Symposium
                                     South America 2012
                                                Brasília - Brasil




         @cleberjsantos
         cleber@simplesconsultoria.com.br
VARNISH




Makes WebSites Fly                          3
         @cleberjsantos
         cleber@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.


               @cleberjsantos
               cleber@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.




               @cleberjsantos
               cleber@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.




                @cleberjsantos
                cleber@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.



                @cleberjsantos
                cleber@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.




                @cleberjsantos
                cleber@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.




               @cleberjsantos
               cleber@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.




               @cleberjsantos
               cleber@simplesconsultoria.com.br
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
VARNISH [3]
- Por que não tem suporte SSL?
 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
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 ... */


                 @cleberjsantos
                 cleber@simplesconsultoria.com.br
VARNISH [3]


Edge-Side-Includes (”ESI”)




    @cleberjsantos
    cleber@simplesconsultoria.com.br
VARNISH [3]
                (PASS)



                                        TTL = 5min

TTL = 1h         TTL = 1 month

                                        TTL = 2d




     @cleberjsantos
     cleber@simplesconsultoria.com.br
@cleberjsantos
cleber@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

           @cleberjsantos
           cleber@simplesconsultoria.com.br
PLONE [4.2]
- Diazo.

- plone.app.caching




           @cleberjsantos
           cleber@simplesconsultoria.com.br

Mais conteúdo relacionado

Mais procurados

Compartilhamento no samba com permissão de grupo
Compartilhamento no samba com permissão de grupoCompartilhamento no samba com permissão de grupo
Compartilhamento no samba com permissão de grupoCarlos Eduardo
 
Relatório de configuração e instalação do dns no ubuntu 1
Relatório de configuração e instalação do dns no ubuntu 1Relatório de configuração e instalação do dns no ubuntu 1
Relatório de configuração e instalação do dns no ubuntu 1Xavier Billa
 
Lista de execicio sor-samba
Lista de execicio sor-sambaLista de execicio sor-samba
Lista de execicio sor-sambaCarlos Melo
 
Utilizando o samba como servidor de domínio primário
Utilizando o samba como servidor de domínio primárioUtilizando o samba como servidor de domínio primário
Utilizando o samba como servidor de domínio primárioCarlos Melo
 
Instalação e configuração servidor dns - ubuntu server
Instalação e configuração servidor dns - ubuntu serverInstalação e configuração servidor dns - ubuntu server
Instalação e configuração servidor dns - ubuntu serverAparicio Junior
 
Lista de execicio sor-samba-parte2
Lista de execicio sor-samba-parte2Lista de execicio sor-samba-parte2
Lista de execicio sor-samba-parte2Carlos Melo
 
Apostila manual completo - windows-script-host
Apostila   manual completo - windows-script-hostApostila   manual completo - windows-script-host
Apostila manual completo - windows-script-hostRogerio Pereira
 
Servidor DNS- BIND
Servidor DNS- BINDServidor DNS- BIND
Servidor DNS- BINDzbrendo
 

Mais procurados (19)

Linux - DNS
Linux - DNSLinux - DNS
Linux - DNS
 
Minicurso Samba
Minicurso SambaMinicurso Samba
Minicurso Samba
 
(15) samba
(15) samba(15) samba
(15) samba
 
Samba4+backup
Samba4+backupSamba4+backup
Samba4+backup
 
Compartilhamento no samba com permissão de grupo
Compartilhamento no samba com permissão de grupoCompartilhamento no samba com permissão de grupo
Compartilhamento no samba com permissão de grupo
 
Linux - Servidor Web Apache
Linux - Servidor Web ApacheLinux - Servidor Web Apache
Linux - Servidor Web Apache
 
Relatório de configuração e instalação do dns no ubuntu 1
Relatório de configuração e instalação do dns no ubuntu 1Relatório de configuração e instalação do dns no ubuntu 1
Relatório de configuração e instalação do dns no ubuntu 1
 
Lista de execicio sor-samba
Lista de execicio sor-sambaLista de execicio sor-samba
Lista de execicio sor-samba
 
Utilizando o samba como servidor de domínio primário
Utilizando o samba como servidor de domínio primárioUtilizando o samba como servidor de domínio primário
Utilizando o samba como servidor de domínio primário
 
Instalação e configuração servidor dns - ubuntu server
Instalação e configuração servidor dns - ubuntu serverInstalação e configuração servidor dns - ubuntu server
Instalação e configuração servidor dns - ubuntu server
 
Dhcp
DhcpDhcp
Dhcp
 
Tutorial pf sense
Tutorial pf senseTutorial pf sense
Tutorial pf sense
 
Lista de execicio sor-samba-parte2
Lista de execicio sor-samba-parte2Lista de execicio sor-samba-parte2
Lista de execicio sor-samba-parte2
 
GlusterFs
GlusterFsGlusterFs
GlusterFs
 
MigraçãO
MigraçãOMigraçãO
MigraçãO
 
Apostila manual completo - windows-script-host
Apostila   manual completo - windows-script-hostApostila   manual completo - windows-script-host
Apostila manual completo - windows-script-host
 
Servidor DNS- BIND
Servidor DNS- BINDServidor DNS- BIND
Servidor DNS- BIND
 
Dhcp
DhcpDhcp
Dhcp
 
Samba configurando
Samba   configurandoSamba   configurando
Samba configurando
 

Semelhante a Varnish3, plone4: discutindo a relação

Varnish3, Plone4: Discutindo a Relação
Varnish3, Plone4: Discutindo a RelaçãoVarnish3, Plone4: Discutindo a Relação
Varnish3, Plone4: Discutindo a RelaçãoCleber J Santos
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHPFelipe Ribeiro
 
Alta Disponibilidade
Alta DisponibilidadeAlta Disponibilidade
Alta Disponibilidadeelliando dias
 
Ebook Apache Server: Guia Introdutório
Ebook Apache Server: Guia IntrodutórioEbook Apache Server: Guia Introdutório
Ebook Apache Server: Guia IntrodutórioFernando Palma
 
Aws sao paulo summit 2015 elasti cache avancado
Aws sao paulo summit 2015   elasti cache avancadoAws sao paulo summit 2015   elasti cache avancado
Aws sao paulo summit 2015 elasti cache avancadoAmazon Web Services LATAM
 
Gerenciando domínios por meio do cPanel
Gerenciando domínios por meio do cPanelGerenciando domínios por meio do cPanel
Gerenciando domínios por meio do cPanelRenan Pessoa
 
Programação em Shell Script
Programação em Shell ScriptProgramação em Shell Script
Programação em Shell ScriptReinaldo Lima
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2PrinceGuru MS
 
Web Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+ApacheWeb Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+ApacheDell Technologies
 
Treinamento de Performance and tuning
Treinamento de Performance and tuningTreinamento de Performance and tuning
Treinamento de Performance and tuningDell Technologies
 

Semelhante a Varnish3, plone4: discutindo a relação (20)

Varnish3, Plone4: Discutindo a Relação
Varnish3, Plone4: Discutindo a RelaçãoVarnish3, Plone4: Discutindo a Relação
Varnish3, Plone4: Discutindo a Relação
 
Curso asp - basico
Curso   asp - basicoCurso   asp - basico
Curso asp - basico
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
Vamos conversar sobre cache
Vamos conversar sobre cacheVamos conversar sobre cache
Vamos conversar sobre cache
 
De 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuáriosDe 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuários
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHP
 
Web seminario varnish
Web seminario varnishWeb seminario varnish
Web seminario varnish
 
Servidor Proxy Squid
Servidor Proxy SquidServidor Proxy Squid
Servidor Proxy Squid
 
Cakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudouCakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudou
 
Apache
ApacheApache
Apache
 
Alta Disponibilidade
Alta DisponibilidadeAlta Disponibilidade
Alta Disponibilidade
 
Introdução a Tecnologias Web
Introdução a Tecnologias WebIntrodução a Tecnologias Web
Introdução a Tecnologias Web
 
Ebook Apache Server: Guia Introdutório
Ebook Apache Server: Guia IntrodutórioEbook Apache Server: Guia Introdutório
Ebook Apache Server: Guia Introdutório
 
Aws sao paulo summit 2015 elasti cache avancado
Aws sao paulo summit 2015   elasti cache avancadoAws sao paulo summit 2015   elasti cache avancado
Aws sao paulo summit 2015 elasti cache avancado
 
Gerenciando domínios por meio do cPanel
Gerenciando domínios por meio do cPanelGerenciando domínios por meio do cPanel
Gerenciando domínios por meio do cPanel
 
Programação em Shell Script
Programação em Shell ScriptProgramação em Shell Script
Programação em Shell Script
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2
 
06 - Servidor Apache
06 - Servidor Apache06 - Servidor Apache
06 - Servidor Apache
 
Web Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+ApacheWeb Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+Apache
 
Treinamento de Performance and tuning
Treinamento de Performance and tuningTreinamento de Performance and tuning
Treinamento de Performance and tuning
 

Varnish3, plone4: discutindo a relação

  • 1. Varnish 3, Plone 4: Discutindo a Relação. Plone Symposium South America 2012 Brasília - Brasil @cleberjsantos cleber@simplesconsultoria.com.br
  • 2. VARNISH Makes WebSites Fly 3 @cleberjsantos cleber@simplesconsultoria.com.br
  • 3. 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. @cleberjsantos cleber@simplesconsultoria.com.br
  • 4. 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. @cleberjsantos cleber@simplesconsultoria.com.br
  • 5. 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. @cleberjsantos cleber@simplesconsultoria.com.br
  • 6. 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. @cleberjsantos cleber@simplesconsultoria.com.br
  • 7. 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. @cleberjsantos cleber@simplesconsultoria.com.br
  • 8. 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. @cleberjsantos cleber@simplesconsultoria.com.br
  • 9. 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. @cleberjsantos cleber@simplesconsultoria.com.br
  • 10. 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
  • 11. VARNISH [3] - Por que não tem suporte SSL? 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
  • 12. 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 ... */ @cleberjsantos cleber@simplesconsultoria.com.br
  • 13. VARNISH [3] Edge-Side-Includes (”ESI”) @cleberjsantos cleber@simplesconsultoria.com.br
  • 14. VARNISH [3] (PASS) TTL = 5min TTL = 1h TTL = 1 month TTL = 2d @cleberjsantos cleber@simplesconsultoria.com.br
  • 16. PLONE [4.2] - Python 2.7 agora é suportado. - Totalmente eggficado - Plone mais rápido que o Plone - Mais uma camadas de velocidade com Chameleon @cleberjsantos cleber@simplesconsultoria.com.br
  • 17. PLONE [4.2] - Diazo. - plone.app.caching @cleberjsantos cleber@simplesconsultoria.com.br