SlideShare una empresa de Scribd logo
1 de 12
@spwebperf
5 Dicas simples (ou nem tanto)
     de performance para
        aplicações Web
Cleber Dantas


• 8+ anos de experiência na área de TI
• Especialista em desenvolvimento Web
• Responsável pela área técnica do grupo Minha
  Vida
• Ministro treinamentos sobre desenvolvimento
  Web
• Dou algumas palestras em eventos de tecnologia
• @cleberdantas
• http://www.cleberdantas.com
Front-End

• Steve Sounders – “80% dos problemas de
  performance de aplicações Web estão no Front-
  end”
1ª dica: Separe componentes em subdomínios distintos




 • Motivos
     – Carregamento de componentes em paralelo
     – Fácil gerenciamento de canal de entrega do conteúdo
     – Cookie-free domains
       (http://www.cleberdantas.com/2011/11/cuidado-
       com-os-cookies-cookie-free-domains/)
2ª dica: Carregamento tardio/assíncrono de js




 • Motivos
     – Renderização bloqueada pelo browser
     – Se não vai usar imediatamente o script para que
       baixa-lo? ora pois...
 • Ferramentas
     – Labjs (http://labjs.com/)
     – ControlJS (http://stevesouders.com/controljs/)
3ª dica: Keep-alive sempre ligado




 • Motivos
     – Para cada requisição HTTP uma conexão TCP precisa
       ser estabelecida
     – Three-way handshake a todo momento é
       desnecessário
3ª dica: Keep-alive sempre ligado

 Visão das requisições HTTP




 Visão das conexões TCP
4ª dica: Abuse dos cabeçalhos de expiração de conteúdo




  • Motivos
     – Cacher é bom  truste me
     – Visualizações futuras bem mais rápidas (afinal não é
       preciso buscar componentes ainda “frescos”)
     – Na dúvida cachear tudo (e ter um bom esquema pra
       forçar a atualização caso necessário)
  • Expires ou Cache-Control?
     – Os dois  (só pra garantir), mas entenda a diferença.
5ª dica: Use uma CDN (Ou construa a sua... E me avise)




• Content Delivery Network
    – Rede de distribuição de conteúdo
    – Infraestrutura para ENTREGA do conteúdo
       • Própria
       • Terceirizada (Akamai, Ananke, UOL, etc)
       • Pública (Microsoft, Google, etc)
           – Distribuição de bibliotecas públicas (exemplo jQuery)
               » http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.5.1.min.js

• http://www.cleberdantas.com/2011/11/content-
  delivery-network-cdn-voce-ainda-vai-usar-uma/
5ª dica: Use uma CDN (Ou construa a sua... E me avise)




             http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.5.1.min.js
Links




• http://www.meetup.com/Sao-Paulo-Web-
  Performance-Group
• @spwebperf
• http://tecnologia.minhavida.com.br
• http://br.linkedin.com/company/minha-vida
• http://www.cleberdantas.com
Obrigado. Perguntas?

Más contenido relacionado

La actualidad más candente

MVVM Deep Dive - Paulo Aboim Pinto
MVVM Deep Dive - Paulo Aboim PintoMVVM Deep Dive - Paulo Aboim Pinto
MVVM Deep Dive - Paulo Aboim Pinto
Comunidade NetPonto
 
Desenvolvimento Web com ASP.NET 4
Desenvolvimento Web com ASP.NET 4Desenvolvimento Web com ASP.NET 4
Desenvolvimento Web com ASP.NET 4
Rodrigo Kono
 
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...
Cleber Dantas
 
TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?
TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?
TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?
tdc-globalcode
 

La actualidad más candente (20)

MVVM Deep Dive - Paulo Aboim Pinto
MVVM Deep Dive - Paulo Aboim PintoMVVM Deep Dive - Paulo Aboim Pinto
MVVM Deep Dive - Paulo Aboim Pinto
 
Wordpress multisite
Wordpress multisiteWordpress multisite
Wordpress multisite
 
Desenvolvimento Web com ASP.NET 4
Desenvolvimento Web com ASP.NET 4Desenvolvimento Web com ASP.NET 4
Desenvolvimento Web com ASP.NET 4
 
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...
 
Usando o Selenium VBA para extrair informações da Web
Usando o Selenium VBA para extrair informações da WebUsando o Selenium VBA para extrair informações da Web
Usando o Selenium VBA para extrair informações da Web
 
Apache maven
Apache mavenApache maven
Apache maven
 
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...
 
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
 
Extração de Dados da Web com Selenium WebDriver - SQLSaturday #817 - Joinville
Extração de Dados da Web com Selenium WebDriver - SQLSaturday #817 - JoinvilleExtração de Dados da Web com Selenium WebDriver - SQLSaturday #817 - Joinville
Extração de Dados da Web com Selenium WebDriver - SQLSaturday #817 - Joinville
 
Java Web Start
Java Web StartJava Web Start
Java Web Start
 
O Futuro do ASP.NET
O Futuro do ASP.NETO Futuro do ASP.NET
O Futuro do ASP.NET
 
AAi1415 ad-tp3-g5
AAi1415 ad-tp3-g5AAi1415 ad-tp3-g5
AAi1415 ad-tp3-g5
 
Introdução - Java WEB
Introdução - Java WEBIntrodução - Java WEB
Introdução - Java WEB
 
Extração Automatizada de Dados da Web com Selenium WebDriver - Web Scraping -...
Extração Automatizada de Dados da Web com Selenium WebDriver - Web Scraping -...Extração Automatizada de Dados da Web com Selenium WebDriver - Web Scraping -...
Extração Automatizada de Dados da Web com Selenium WebDriver - Web Scraping -...
 
TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?
TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?
TDC 2013 SP | Arquitetura Java: Preciso de um Framework, mas qual usar?
 
Desenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos BásicosDesenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos Básicos
 
CMS - Joomla
CMS - JoomlaCMS - Joomla
CMS - Joomla
 
Conceitos de Ajax
Conceitos de AjaxConceitos de Ajax
Conceitos de Ajax
 
Instalando e configurando o WordPress localmente
Instalando e configurando o WordPress localmenteInstalando e configurando o WordPress localmente
Instalando e configurando o WordPress localmente
 
Reverse Ajax Dwr
Reverse Ajax DwrReverse Ajax Dwr
Reverse Ajax Dwr
 

Destacado (8)

TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
 
LABjs e JQuery Templates
LABjs e JQuery TemplatesLABjs e JQuery Templates
LABjs e JQuery Templates
 
Dicas de otimização e performance de aplicações Web com ASP.NET
Dicas de otimização e performance de aplicações Web com ASP.NET Dicas de otimização e performance de aplicações Web com ASP.NET
Dicas de otimização e performance de aplicações Web com ASP.NET
 
[MinhaVida TechDay] NoSQL
[MinhaVida TechDay] NoSQL[MinhaVida TechDay] NoSQL
[MinhaVida TechDay] NoSQL
 
[MinhaVida TechDay] NEO4J
[MinhaVida TechDay] NEO4J[MinhaVida TechDay] NEO4J
[MinhaVida TechDay] NEO4J
 
[Minha Vida TechDay] Novo Dieta e Saúde
[Minha Vida TechDay] Novo Dieta e Saúde[Minha Vida TechDay] Novo Dieta e Saúde
[Minha Vida TechDay] Novo Dieta e Saúde
 
Novidades asp.net mvc 4
Novidades asp.net mvc 4Novidades asp.net mvc 4
Novidades asp.net mvc 4
 
Performance em aplicações Web
Performance em aplicações WebPerformance em aplicações Web
Performance em aplicações Web
 

Similar a 5 dicas simples de performance

Desenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveisDesenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveis
elliando dias
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Allyson Barros
 
Zend Framework Estrutura e TDD
Zend Framework Estrutura e TDDZend Framework Estrutura e TDD
Zend Framework Estrutura e TDD
PHP Day Curitiba
 

Similar a 5 dicas simples de performance (20)

Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHP
 
Joomla Day Brasil 2010: Customizações para grandes portais
Joomla Day Brasil 2010: Customizações para grandes portaisJoomla Day Brasil 2010: Customizações para grandes portais
Joomla Day Brasil 2010: Customizações para grandes portais
 
Desenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveisDesenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveis
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
 
Maven 2
Maven 2Maven 2
Maven 2
 
Curso de Performance and Tuning - Linux
Curso de Performance and Tuning - LinuxCurso de Performance and Tuning - Linux
Curso de Performance and Tuning - Linux
 
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvensDrupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
 
Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15
 
Desenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQLDesenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQL
 
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
 
Criando Aplicações Resilientes
Criando Aplicações ResilientesCriando Aplicações Resilientes
Criando Aplicações Resilientes
 
Dicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSFDicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSF
 
Dicas e Truques sobre Performance em Java EE, JPA e JSF
Dicas e Truques sobre Performance em Java EE, JPA e JSFDicas e Truques sobre Performance em Java EE, JPA e JSF
Dicas e Truques sobre Performance em Java EE, JPA e JSF
 
Otimização Front-end para WordPress
Otimização Front-end para WordPressOtimização Front-end para WordPress
Otimização Front-end para WordPress
 
Cake PHP
Cake PHPCake PHP
Cake PHP
 
Cakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudouCakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudou
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
 
Treinamento de Performance and tuning
Treinamento de Performance and tuningTreinamento de Performance and tuning
Treinamento de Performance and tuning
 
Zend Framework Estrutura e TDD
Zend Framework Estrutura e TDDZend Framework Estrutura e TDD
Zend Framework Estrutura e TDD
 
Projetos Java com Maven
Projetos Java com MavenProjetos Java com Maven
Projetos Java com Maven
 

5 dicas simples de performance

  • 1. @spwebperf 5 Dicas simples (ou nem tanto) de performance para aplicações Web
  • 2. Cleber Dantas • 8+ anos de experiência na área de TI • Especialista em desenvolvimento Web • Responsável pela área técnica do grupo Minha Vida • Ministro treinamentos sobre desenvolvimento Web • Dou algumas palestras em eventos de tecnologia • @cleberdantas • http://www.cleberdantas.com
  • 3. Front-End • Steve Sounders – “80% dos problemas de performance de aplicações Web estão no Front- end”
  • 4. 1ª dica: Separe componentes em subdomínios distintos • Motivos – Carregamento de componentes em paralelo – Fácil gerenciamento de canal de entrega do conteúdo – Cookie-free domains (http://www.cleberdantas.com/2011/11/cuidado- com-os-cookies-cookie-free-domains/)
  • 5. 2ª dica: Carregamento tardio/assíncrono de js • Motivos – Renderização bloqueada pelo browser – Se não vai usar imediatamente o script para que baixa-lo? ora pois... • Ferramentas – Labjs (http://labjs.com/) – ControlJS (http://stevesouders.com/controljs/)
  • 6. 3ª dica: Keep-alive sempre ligado • Motivos – Para cada requisição HTTP uma conexão TCP precisa ser estabelecida – Three-way handshake a todo momento é desnecessário
  • 7. 3ª dica: Keep-alive sempre ligado Visão das requisições HTTP Visão das conexões TCP
  • 8. 4ª dica: Abuse dos cabeçalhos de expiração de conteúdo • Motivos – Cacher é bom  truste me – Visualizações futuras bem mais rápidas (afinal não é preciso buscar componentes ainda “frescos”) – Na dúvida cachear tudo (e ter um bom esquema pra forçar a atualização caso necessário) • Expires ou Cache-Control? – Os dois  (só pra garantir), mas entenda a diferença.
  • 9. 5ª dica: Use uma CDN (Ou construa a sua... E me avise) • Content Delivery Network – Rede de distribuição de conteúdo – Infraestrutura para ENTREGA do conteúdo • Própria • Terceirizada (Akamai, Ananke, UOL, etc) • Pública (Microsoft, Google, etc) – Distribuição de bibliotecas públicas (exemplo jQuery) » http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.5.1.min.js • http://www.cleberdantas.com/2011/11/content- delivery-network-cdn-voce-ainda-vai-usar-uma/
  • 10. 5ª dica: Use uma CDN (Ou construa a sua... E me avise) http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.5.1.min.js
  • 11. Links • http://www.meetup.com/Sao-Paulo-Web- Performance-Group • @spwebperf • http://tecnologia.minhavida.com.br • http://br.linkedin.com/company/minha-vida • http://www.cleberdantas.com