SlideShare una empresa de Scribd logo
1 de 44
Descargar para leer sin conexión
Como fazer seu site/blog voar baixo sem muito esforço




              Como fazer seu site/blog voar
              baixo sem muito esforço . . .




         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                        Apresentação


                   ●   Vamos falar de . . .
                   ●   Cache . . .
                   ●   Objetivos . . .


         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                                # whoami

                   ●   Bruno Gurgel (@bggo);
                   ●   Entusiasta;
                   ●   Colaborador;
                   ●   Tímido contribuinte;
                   ●   Experiência;
                   ●   Certificações;
         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                              Introdução
                   ●   O site/blog
                       –   Caiu …. ?
                       –   Ta fora … ?
                       –   Ta lento … ?
                   ●   Não estou conseguindo entrar;


         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                              Introdução




         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                              Introdução
                   ●   Respirem isso não é raro! . . .


                       É comum!!!




         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                       Analisando o problema
                   ●   O que dizem os dados?
                       –   De onde tirar dados . .
                           ●   Logs;
                           ●   Analitycs;
                           ●   Pwiki;




         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                       Analisando o problema
                   ●   Analisando o problema
                       –   Com os dados compilados:
                           ●   Podemos “Tunnar”?
                           ●   Onde está o gargalo?
                           ●   É necessário expandir?
                           ●   Qual é o tamanho das minhas páginas?
                           ●   Estou usando compactação para
                               entregar?

         @bggo             ●   O que poderia fazer que eu não estou
bruno@linux.com                fazendo . . .
Como fazer seu site/blog voar baixo sem muito esforço


                        Olhando a arquitetura




         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                        Olhando a arquitetura




                  VPS;
         @bggo
                  Servidor compartilhado;
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                       E se … usarmos cache
                   ●   Falando em coisas que não
                       estamos fazendo:
                       –   Já fazemos isso?


                   ●   Cache …...
                       –   Mas não é pra limpar?

         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                       Por que usar o cache?
                   ●   Requisições
                       –   Idênticas;
                       –   Diferentes;
                   ●   Conteúdo;
                       –   Estático;
                       –   Dinâmico;
                   ●   Qual é o custo de uma requisição
                       do meu site?
         @bggo
bruno@linux.com    ●   Quanto de recurso eu gasto para
                       atender um usuário?
Como fazer seu site/blog voar baixo sem muito esforço


                          Aonde o cache entra
                   ●   Na frente;
                   ●   No lado;
                   ●   Atrás;
                   ●   Usando conscientemente;



         @bggo         Faça do cache um aliado . . .
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                           Aonde o cache entra
                   ●   Podemos fazer cache de:
                       –   Texto;
                       –   Imagens;
                       –   Vídeos;
                       –   Arquivos;
                       –   Php, Asp, Rails, Django, etc . . .


         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                           Aonde o cache entra
                   ●   Mas a linguagem é dinâmica!!!
                       –   Nem tudo é dinâmico . . .
                           ●   Requisição → processo → entrega;
                           ●   Requisições iguais não precisam ser
                               processadas mais de uma vez;
                           ●   Elementos diversos chamados pela
                               requisição podem estar em cache ou
                               não;

         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                           Aonde o cache entra
                   ●   Cautela . . .
                       –   Analise de viabilidade;
                       –   Testes;
                   ●   Atenção especial
                       –   Cookies;
                       –   Session;
                       –   Session Hijacking;
         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                Session Hijacking
                   ●   O que é;
                   ●   Como acontece;
                   ●   Como o uso errôneo do cache
                       pode acarretar isso;




         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                Coitado do cache
                   ●   O vilão da história;
                   ●   Crtl + Shift + Del;
                   ●   Já limpou o cache?
                   ●   O problema é o cache, limpa e
                       testa de novo;
                         #cacheforprod
                         #donocachedev
         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                            Onde está o cache?
                   ●   Browser Cache;
                       –   Client cache;
                   ●   Server Cache;
                       –   Http Acelerator;
                       –   Proxy Reverso;



         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                 Falando de HTTP
                   ●   Cache e o Protocolo HTTP
                   ●   Capítulo 4, Varnish Book
                       –   Request;
                       –   Response;
                   ●   GET
                   ●   HEADER
                   ●   POST

         @bggo
bruno@linux.com        –   STATELESS
                       –   INDEMPOTENCE
Como fazer seu site/blog voar baixo sem muito esforço


                                Falando de HTTP




         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                Falando de HTTP




         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                Falando de HTTP




         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                        Olhando a arquitetura




         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                       O cache a nosso favor




         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                                    Varnish




         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                                    Varnish
                   ●   Reverse Proxy / Http Acelerator /
                       Web Acelerator
                   ●   Designerd for:
                       –   Modern Hardware
                       –   Modern O.S.
                       –   Modern Work Loads
                   ●   VLC;
         @bggo     ●   OpenSource;
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


            Mas eu só tenho um servidor

                   ●   Você pode usar o varnish com
                       um único servidor:
                       –   Varnish – 80
                       –   WebServer - ?
                   ●   https://www.varnish-
                       cache.org/docs/3.0/faq/general.ht
         @bggo         ml#can-i
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


            Mas eu só tenho um servidor




         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                     Requisição com Cache




         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                     Requisição com Cache




         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                  Não quero usar um serviço
                    ●   Dá pra resolver de outra
                        maneira?

                    ●   Plugins
                        –   Worpress
                            ●   Wp-cache;
                            ●   Wp Super Cache;
         @bggo
                            ●   Wp File Cache
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                          Em números
                   ●   Talk is cheap!
                   ●   Show me the … numbers




         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                              Demo . . .
                   ●   Murpy`s law!!!!!




         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                              Demo . . .
                   ●   Murpy`s law!!!!!




         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                             Benchmark


                  Varnish                             Apache




         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                             Benchmark


                  Varnish                             Apache




         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                            Benchmark
                   Apache




         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                            Benchmark




         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                            Benchmark
                   ●   VMs
                       –   2CPU;
                       –   512Mb;
                   ●   Debian
                       –   Request → Apache;
                       –   Request → Varnish → Apache;

         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                            Benchmark
                   ●   VMs
                       –   2CPU;
                       –   512Mb;
                   ●   Debian
                       –   Request → Apache;
                       –   Request → Varnish → Apache;

         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                            Benchmark
                   ●   VMs
                       –   2CPU;
                       –   512Mb;
                   ●   Debian
                       –   Request → Apache;
                       –   Request → Varnish → Apache;

         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                            Benchmark
                   ●   Recursos concorrentes
                       –   Varnish, apache, mysql
                       –   Apache, mysql




         @bggo
bruno@linux.com
Como fazer seu site/blog voar baixo sem muito esforço


                                                 Obrigado
                   ●   bruno.gurgel@gmail.com
                   ●   @bggo
                   ●   https://github.com/bggo
                   ●   www.brunogurgel.com.br



         @bggo
bruno@linux.com

Más contenido relacionado

La actualidad más candente

O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...E-Commerce Brasil
 
Dicas para Workflow WordPress + JavaScript - WordCamp Salvador
Dicas para Workflow WordPress + JavaScript - WordCamp SalvadorDicas para Workflow WordPress + JavaScript - WordCamp Salvador
Dicas para Workflow WordPress + JavaScript - WordCamp SalvadorFellyph Cintra
 
A Evolução do Front end
A Evolução do Front endA Evolução do Front end
A Evolução do Front endDouglas Matoso
 
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuais
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuaisJavaScript e o perfil do desenvolvedor front end das atualidades mais atuais
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuaisWilliam Oliveira
 
PHP Papa-Léguas: Performance em PHP
PHP Papa-Léguas: Performance em PHPPHP Papa-Léguas: Performance em PHP
PHP Papa-Léguas: Performance em PHPFlávio Lisboa
 
Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Erik Cruz
 
Introdução ao Web Design: Aula 2 - IHC/UX Design
Introdução ao Web Design: Aula 2 - IHC/UX DesignIntrodução ao Web Design: Aula 2 - IHC/UX Design
Introdução ao Web Design: Aula 2 - IHC/UX DesignGustavo Zimmermann
 
(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScriptCarlos Santos
 
Apresentação Wordpress FLISOL 2010
Apresentação Wordpress FLISOL 2010Apresentação Wordpress FLISOL 2010
Apresentação Wordpress FLISOL 2010Zarathon Maia
 
Você não precisa de uma sopa de letrinhas para criar web apps
Você não precisa de uma sopa de letrinhas para criar web appsVocê não precisa de uma sopa de letrinhas para criar web apps
Você não precisa de uma sopa de letrinhas para criar web appsWilliam Oliveira
 
Desenvolvimento Ágil com Twitter Bootstrap
Desenvolvimento Ágil com Twitter BootstrapDesenvolvimento Ágil com Twitter Bootstrap
Desenvolvimento Ágil com Twitter BootstrapFlavio Souza
 
FISL17 - Vinícius Lourenço | WordPress - Como começar e o que dá para ser feito?
FISL17 - Vinícius Lourenço | WordPress - Como começar e o que dá para ser feito?FISL17 - Vinícius Lourenço | WordPress - Como começar e o que dá para ser feito?
FISL17 - Vinícius Lourenço | WordPress - Como começar e o que dá para ser feito?Vinícius Lourenço
 
9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometem9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometemFernando Henriques
 
Springpoint São Paulo 2016 - Vinícius Lourenço | WordPress for Dummies
Springpoint São Paulo 2016 - Vinícius Lourenço | WordPress for DummiesSpringpoint São Paulo 2016 - Vinícius Lourenço | WordPress for Dummies
Springpoint São Paulo 2016 - Vinícius Lourenço | WordPress for DummiesVinícius Lourenço
 
JavaScript: Introdução e Operadores (aula 1)
JavaScript: Introdução e Operadores (aula 1)JavaScript: Introdução e Operadores (aula 1)
JavaScript: Introdução e Operadores (aula 1)Gustavo Zimmermann
 
Vagrant uma ferramenta realmente útil e versátil
Vagrant   uma ferramenta realmente útil e versátilVagrant   uma ferramenta realmente útil e versátil
Vagrant uma ferramenta realmente útil e versátilWanderlei Silva do Carmo
 
WordCamp Fortaleza 2016 - Vinícius Lourenço | tAPIoca com WooCommerce
WordCamp Fortaleza 2016 - Vinícius Lourenço | tAPIoca com WooCommerceWordCamp Fortaleza 2016 - Vinícius Lourenço | tAPIoca com WooCommerce
WordCamp Fortaleza 2016 - Vinícius Lourenço | tAPIoca com WooCommerceVinícius Lourenço
 
Ampliando suas fronteiras com Node-Webkit
Ampliando suas fronteiras com Node-WebkitAmpliando suas fronteiras com Node-Webkit
Ampliando suas fronteiras com Node-WebkitBeto Muniz
 

La actualidad más candente (20)

O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...
 
Dicas para Workflow WordPress + JavaScript - WordCamp Salvador
Dicas para Workflow WordPress + JavaScript - WordCamp SalvadorDicas para Workflow WordPress + JavaScript - WordCamp Salvador
Dicas para Workflow WordPress + JavaScript - WordCamp Salvador
 
A Evolução do Front end
A Evolução do Front endA Evolução do Front end
A Evolução do Front end
 
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuais
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuaisJavaScript e o perfil do desenvolvedor front end das atualidades mais atuais
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuais
 
Webstandardsppt
WebstandardspptWebstandardsppt
Webstandardsppt
 
PHP Papa-Léguas: Performance em PHP
PHP Papa-Léguas: Performance em PHPPHP Papa-Léguas: Performance em PHP
PHP Papa-Léguas: Performance em PHP
 
Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021
 
Introdução ao Web Design: Aula 2 - IHC/UX Design
Introdução ao Web Design: Aula 2 - IHC/UX DesignIntrodução ao Web Design: Aula 2 - IHC/UX Design
Introdução ao Web Design: Aula 2 - IHC/UX Design
 
(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript
 
Apresentação Wordpress FLISOL 2010
Apresentação Wordpress FLISOL 2010Apresentação Wordpress FLISOL 2010
Apresentação Wordpress FLISOL 2010
 
Você não precisa de uma sopa de letrinhas para criar web apps
Você não precisa de uma sopa de letrinhas para criar web appsVocê não precisa de uma sopa de letrinhas para criar web apps
Você não precisa de uma sopa de letrinhas para criar web apps
 
Desenvolvimento Ágil com Twitter Bootstrap
Desenvolvimento Ágil com Twitter BootstrapDesenvolvimento Ágil com Twitter Bootstrap
Desenvolvimento Ágil com Twitter Bootstrap
 
FISL17 - Vinícius Lourenço | WordPress - Como começar e o que dá para ser feito?
FISL17 - Vinícius Lourenço | WordPress - Como começar e o que dá para ser feito?FISL17 - Vinícius Lourenço | WordPress - Como começar e o que dá para ser feito?
FISL17 - Vinícius Lourenço | WordPress - Como começar e o que dá para ser feito?
 
9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometem9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometem
 
Springpoint São Paulo 2016 - Vinícius Lourenço | WordPress for Dummies
Springpoint São Paulo 2016 - Vinícius Lourenço | WordPress for DummiesSpringpoint São Paulo 2016 - Vinícius Lourenço | WordPress for Dummies
Springpoint São Paulo 2016 - Vinícius Lourenço | WordPress for Dummies
 
JavaScript: Introdução e Operadores (aula 1)
JavaScript: Introdução e Operadores (aula 1)JavaScript: Introdução e Operadores (aula 1)
JavaScript: Introdução e Operadores (aula 1)
 
Google IO 2017 Extended - Cuiaba - Progressive Web Apps
Google IO 2017 Extended - Cuiaba - Progressive Web AppsGoogle IO 2017 Extended - Cuiaba - Progressive Web Apps
Google IO 2017 Extended - Cuiaba - Progressive Web Apps
 
Vagrant uma ferramenta realmente útil e versátil
Vagrant   uma ferramenta realmente útil e versátilVagrant   uma ferramenta realmente útil e versátil
Vagrant uma ferramenta realmente útil e versátil
 
WordCamp Fortaleza 2016 - Vinícius Lourenço | tAPIoca com WooCommerce
WordCamp Fortaleza 2016 - Vinícius Lourenço | tAPIoca com WooCommerceWordCamp Fortaleza 2016 - Vinícius Lourenço | tAPIoca com WooCommerce
WordCamp Fortaleza 2016 - Vinícius Lourenço | tAPIoca com WooCommerce
 
Ampliando suas fronteiras com Node-Webkit
Ampliando suas fronteiras com Node-WebkitAmpliando suas fronteiras com Node-Webkit
Ampliando suas fronteiras com Node-Webkit
 

Similar a Como acelerar seu site com cache sem esforço

Faça seu portal voar usando o plone.app.caching
Faça seu portal voar usando o plone.app.cachingFaça seu portal voar usando o plone.app.caching
Faça seu portal voar usando o plone.app.cachingFabiano Weimar
 
Aula 01- web designer
Aula 01- web designerAula 01- web designer
Aula 01- web designerRoney Sousa
 
NOSQLBA 2018 - ArangoDB com python
NOSQLBA 2018 - ArangoDB com pythonNOSQLBA 2018 - ArangoDB com python
NOSQLBA 2018 - ArangoDB com pythonfelipe bastosweb
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScriptCarlos Eduardo Kadu
 
Pagestackr - RejectConf SP 2007
Pagestackr - RejectConf SP 2007Pagestackr - RejectConf SP 2007
Pagestackr - RejectConf SP 2007George Guimarães
 
(In Portuguese) Workshop de Domain-Driven Design
(In Portuguese) Workshop de Domain-Driven Design(In Portuguese) Workshop de Domain-Driven Design
(In Portuguese) Workshop de Domain-Driven DesignPhil Calçado
 
Ai1415 ad-tp2-g4-a
Ai1415 ad-tp2-g4-aAi1415 ad-tp2-g4-a
Ai1415 ad-tp2-g4-amfsmsl
 
Desenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoDesenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoIgor Sobreira
 
Preparando seu e-commerce para a Black Friday
Preparando seu e-commerce para a Black FridayPreparando seu e-commerce para a Black Friday
Preparando seu e-commerce para a Black FridayUmbler
 
DevCommerce Conference 2016 - Workshop: Planejamento de infra do e-commerce p...
DevCommerce Conference 2016 - Workshop: Planejamento de infra do e-commerce p...DevCommerce Conference 2016 - Workshop: Planejamento de infra do e-commerce p...
DevCommerce Conference 2016 - Workshop: Planejamento de infra do e-commerce p...iMasters
 
Dicas para otimizar o WordPress por Felipe Figueiredo
Dicas para otimizar o WordPress por Felipe FigueiredoDicas para otimizar o WordPress por Felipe Figueiredo
Dicas para otimizar o WordPress por Felipe FigueiredoWordCamp Floripa
 
Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!magnunleno
 
WordPress SEO - SearchLabs 2010
WordPress SEO - SearchLabs 2010WordPress SEO - SearchLabs 2010
WordPress SEO - SearchLabs 2010Guga Alves
 
Apresentação blogs
Apresentação blogsApresentação blogs
Apresentação blogsluizaselis
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011Evaldo Junior
 

Similar a Como acelerar seu site com cache sem esforço (20)

Faça seu portal voar usando o plone.app.caching
Faça seu portal voar usando o plone.app.cachingFaça seu portal voar usando o plone.app.caching
Faça seu portal voar usando o plone.app.caching
 
Aula 01- web designer
Aula 01- web designerAula 01- web designer
Aula 01- web designer
 
NOSQLBA 2018 - ArangoDB com python
NOSQLBA 2018 - ArangoDB com pythonNOSQLBA 2018 - ArangoDB com python
NOSQLBA 2018 - ArangoDB com python
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Pagestackr - RejectConf SP 2007
Pagestackr - RejectConf SP 2007Pagestackr - RejectConf SP 2007
Pagestackr - RejectConf SP 2007
 
Django - Muito além do básico
Django - Muito além do básicoDjango - Muito além do básico
Django - Muito além do básico
 
(In Portuguese) Workshop de Domain-Driven Design
(In Portuguese) Workshop de Domain-Driven Design(In Portuguese) Workshop de Domain-Driven Design
(In Portuguese) Workshop de Domain-Driven Design
 
Ai1415 ad-tp2-g4-a
Ai1415 ad-tp2-g4-aAi1415 ad-tp2-g4-a
Ai1415 ad-tp2-g4-a
 
Desenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoDesenvolvimento web ágil com Django
Desenvolvimento web ágil com Django
 
Wordpress
WordpressWordpress
Wordpress
 
Preparando seu e-commerce para a Black Friday
Preparando seu e-commerce para a Black FridayPreparando seu e-commerce para a Black Friday
Preparando seu e-commerce para a Black Friday
 
DevCommerce Conference 2016 - Workshop: Planejamento de infra do e-commerce p...
DevCommerce Conference 2016 - Workshop: Planejamento de infra do e-commerce p...DevCommerce Conference 2016 - Workshop: Planejamento de infra do e-commerce p...
DevCommerce Conference 2016 - Workshop: Planejamento de infra do e-commerce p...
 
Dicas para otimizar o WordPress por Felipe Figueiredo
Dicas para otimizar o WordPress por Felipe FigueiredoDicas para otimizar o WordPress por Felipe Figueiredo
Dicas para otimizar o WordPress por Felipe Figueiredo
 
Curso de Grails
Curso de GrailsCurso de Grails
Curso de Grails
 
Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!
 
WordPress SEO - SearchLabs 2010
WordPress SEO - SearchLabs 2010WordPress SEO - SearchLabs 2010
WordPress SEO - SearchLabs 2010
 
Python e Golang - Parte 1
Python e Golang - Parte 1Python e Golang - Parte 1
Python e Golang - Parte 1
 
Apresentação blogs
Apresentação blogsApresentação blogs
Apresentação blogs
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
 
Serverless com python
Serverless com pythonServerless com python
Serverless com python
 

Como acelerar seu site com cache sem esforço

  • 1. Como fazer seu site/blog voar baixo sem muito esforço Como fazer seu site/blog voar baixo sem muito esforço . . . @bggo bruno@linux.com
  • 2. Como fazer seu site/blog voar baixo sem muito esforço Apresentação ● Vamos falar de . . . ● Cache . . . ● Objetivos . . . @bggo bruno@linux.com
  • 3. Como fazer seu site/blog voar baixo sem muito esforço # whoami ● Bruno Gurgel (@bggo); ● Entusiasta; ● Colaborador; ● Tímido contribuinte; ● Experiência; ● Certificações; @bggo bruno@linux.com
  • 4. Como fazer seu site/blog voar baixo sem muito esforço Introdução ● O site/blog – Caiu …. ? – Ta fora … ? – Ta lento … ? ● Não estou conseguindo entrar; @bggo bruno@linux.com
  • 5. Como fazer seu site/blog voar baixo sem muito esforço Introdução @bggo bruno@linux.com
  • 6. Como fazer seu site/blog voar baixo sem muito esforço Introdução ● Respirem isso não é raro! . . . É comum!!! @bggo bruno@linux.com
  • 7. Como fazer seu site/blog voar baixo sem muito esforço Analisando o problema ● O que dizem os dados? – De onde tirar dados . . ● Logs; ● Analitycs; ● Pwiki; @bggo bruno@linux.com
  • 8. Como fazer seu site/blog voar baixo sem muito esforço Analisando o problema ● Analisando o problema – Com os dados compilados: ● Podemos “Tunnar”? ● Onde está o gargalo? ● É necessário expandir? ● Qual é o tamanho das minhas páginas? ● Estou usando compactação para entregar? @bggo ● O que poderia fazer que eu não estou bruno@linux.com fazendo . . .
  • 9. Como fazer seu site/blog voar baixo sem muito esforço Olhando a arquitetura @bggo bruno@linux.com
  • 10. Como fazer seu site/blog voar baixo sem muito esforço Olhando a arquitetura VPS; @bggo Servidor compartilhado; bruno@linux.com
  • 11. Como fazer seu site/blog voar baixo sem muito esforço E se … usarmos cache ● Falando em coisas que não estamos fazendo: – Já fazemos isso? ● Cache …... – Mas não é pra limpar? @bggo bruno@linux.com
  • 12. Como fazer seu site/blog voar baixo sem muito esforço Por que usar o cache? ● Requisições – Idênticas; – Diferentes; ● Conteúdo; – Estático; – Dinâmico; ● Qual é o custo de uma requisição do meu site? @bggo bruno@linux.com ● Quanto de recurso eu gasto para atender um usuário?
  • 13. Como fazer seu site/blog voar baixo sem muito esforço Aonde o cache entra ● Na frente; ● No lado; ● Atrás; ● Usando conscientemente; @bggo Faça do cache um aliado . . . bruno@linux.com
  • 14. Como fazer seu site/blog voar baixo sem muito esforço Aonde o cache entra ● Podemos fazer cache de: – Texto; – Imagens; – Vídeos; – Arquivos; – Php, Asp, Rails, Django, etc . . . @bggo bruno@linux.com
  • 15. Como fazer seu site/blog voar baixo sem muito esforço Aonde o cache entra ● Mas a linguagem é dinâmica!!! – Nem tudo é dinâmico . . . ● Requisição → processo → entrega; ● Requisições iguais não precisam ser processadas mais de uma vez; ● Elementos diversos chamados pela requisição podem estar em cache ou não; @bggo bruno@linux.com
  • 16. Como fazer seu site/blog voar baixo sem muito esforço Aonde o cache entra ● Cautela . . . – Analise de viabilidade; – Testes; ● Atenção especial – Cookies; – Session; – Session Hijacking; @bggo bruno@linux.com
  • 17. Como fazer seu site/blog voar baixo sem muito esforço Session Hijacking ● O que é; ● Como acontece; ● Como o uso errôneo do cache pode acarretar isso; @bggo bruno@linux.com
  • 18. Como fazer seu site/blog voar baixo sem muito esforço Coitado do cache ● O vilão da história; ● Crtl + Shift + Del; ● Já limpou o cache? ● O problema é o cache, limpa e testa de novo; #cacheforprod #donocachedev @bggo bruno@linux.com
  • 19. Como fazer seu site/blog voar baixo sem muito esforço Onde está o cache? ● Browser Cache; – Client cache; ● Server Cache; – Http Acelerator; – Proxy Reverso; @bggo bruno@linux.com
  • 20. Como fazer seu site/blog voar baixo sem muito esforço Falando de HTTP ● Cache e o Protocolo HTTP ● Capítulo 4, Varnish Book – Request; – Response; ● GET ● HEADER ● POST @bggo bruno@linux.com – STATELESS – INDEMPOTENCE
  • 21. Como fazer seu site/blog voar baixo sem muito esforço Falando de HTTP @bggo bruno@linux.com
  • 22. Como fazer seu site/blog voar baixo sem muito esforço Falando de HTTP @bggo bruno@linux.com
  • 23. Como fazer seu site/blog voar baixo sem muito esforço Falando de HTTP @bggo bruno@linux.com
  • 24. Como fazer seu site/blog voar baixo sem muito esforço Olhando a arquitetura @bggo bruno@linux.com
  • 25. Como fazer seu site/blog voar baixo sem muito esforço O cache a nosso favor @bggo bruno@linux.com
  • 26. Como fazer seu site/blog voar baixo sem muito esforço Varnish @bggo bruno@linux.com
  • 27. Como fazer seu site/blog voar baixo sem muito esforço Varnish ● Reverse Proxy / Http Acelerator / Web Acelerator ● Designerd for: – Modern Hardware – Modern O.S. – Modern Work Loads ● VLC; @bggo ● OpenSource; bruno@linux.com
  • 28. Como fazer seu site/blog voar baixo sem muito esforço Mas eu só tenho um servidor ● Você pode usar o varnish com um único servidor: – Varnish – 80 – WebServer - ? ● https://www.varnish- cache.org/docs/3.0/faq/general.ht @bggo ml#can-i bruno@linux.com
  • 29. Como fazer seu site/blog voar baixo sem muito esforço Mas eu só tenho um servidor @bggo bruno@linux.com
  • 30. Como fazer seu site/blog voar baixo sem muito esforço Requisição com Cache @bggo bruno@linux.com
  • 31. Como fazer seu site/blog voar baixo sem muito esforço Requisição com Cache @bggo bruno@linux.com
  • 32. Como fazer seu site/blog voar baixo sem muito esforço Não quero usar um serviço ● Dá pra resolver de outra maneira? ● Plugins – Worpress ● Wp-cache; ● Wp Super Cache; @bggo ● Wp File Cache bruno@linux.com
  • 33. Como fazer seu site/blog voar baixo sem muito esforço Em números ● Talk is cheap! ● Show me the … numbers @bggo bruno@linux.com
  • 34. Como fazer seu site/blog voar baixo sem muito esforço Demo . . . ● Murpy`s law!!!!! @bggo bruno@linux.com
  • 35. Como fazer seu site/blog voar baixo sem muito esforço Demo . . . ● Murpy`s law!!!!! @bggo bruno@linux.com
  • 36. Como fazer seu site/blog voar baixo sem muito esforço Benchmark Varnish Apache @bggo bruno@linux.com
  • 37. Como fazer seu site/blog voar baixo sem muito esforço Benchmark Varnish Apache @bggo bruno@linux.com
  • 38. Como fazer seu site/blog voar baixo sem muito esforço Benchmark Apache @bggo bruno@linux.com
  • 39. Como fazer seu site/blog voar baixo sem muito esforço Benchmark @bggo bruno@linux.com
  • 40. Como fazer seu site/blog voar baixo sem muito esforço Benchmark ● VMs – 2CPU; – 512Mb; ● Debian – Request → Apache; – Request → Varnish → Apache; @bggo bruno@linux.com
  • 41. Como fazer seu site/blog voar baixo sem muito esforço Benchmark ● VMs – 2CPU; – 512Mb; ● Debian – Request → Apache; – Request → Varnish → Apache; @bggo bruno@linux.com
  • 42. Como fazer seu site/blog voar baixo sem muito esforço Benchmark ● VMs – 2CPU; – 512Mb; ● Debian – Request → Apache; – Request → Varnish → Apache; @bggo bruno@linux.com
  • 43. Como fazer seu site/blog voar baixo sem muito esforço Benchmark ● Recursos concorrentes – Varnish, apache, mysql – Apache, mysql @bggo bruno@linux.com
  • 44. Como fazer seu site/blog voar baixo sem muito esforço Obrigado ● bruno.gurgel@gmail.com ● @bggo ● https://github.com/bggo ● www.brunogurgel.com.br @bggo bruno@linux.com