Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Como se tornar um viciado em performance em 5 p...

Como se tornar um viciado em performance em 5 passos

É muito importante focarmos na performance do seu site, para isso apresento 5 passos do que pode ser feito para melhorar a performance da sua aplicação web, deixando você e seu usuário mais felizes

Pedro Chaves

April 13, 2013
Tweet

More Decks by Pedro Chaves

Other Decks in Programming

Transcript

  1. Tempo de atraso Reação do usuário 0 - 100ms Instantânea

    100 - 300ms Atraso perceptível 300 - 1000ms Computador trabalhando... 1s+ Começa a perder o foco 10s+ Eu volto depois...
  2. Crontab é seu melhor amigo! Rotina toda madrugada Salva um

    arquivo JSON no disco e um registro no Memcached Site busca do Memcached Se não existe busca do arquivo
  3. The KISS principle As vezes é necessário abrir mão de

    conceitos de engenharia de software em troca de performance.
  4. Dicas rápidas de performance SELECT COUNT(*), a.nome AS nome_artista FROM

    artistas AS a INNER JOIN musicas AS m ON m.id_artista = a.id WHERE m.id_artista = ? GROUP BY m.id_artista
  5. Checkpoint #3 Que tal colocar uma camada de cache no

    retorno de todas as requisições?
  6. Protocolo HTTP to the rescue! O protocolo HTTP está aí

    para ser utilizado da maneira correta! Porque nosso navegador também faz cache por nós :D
  7. O servidor só envia o conteúdo da página se If-Modified-Since

    não for enviado ou for menor do que Last-Modified. 304 Not Modified Last-Modified + If- Modified-Since
  8. Não busca a página no servidor se o tempo do

    cache não tiver expirado Expires Expires: Sun, 17-Jan-2038 19:14:07 GMT
  9. Checklist • Só um arquivo CSS ✓ • JavaScript no

    rodapé ✓ • Poucos arquivos JavaScript ✓
  10. Checklist • Só um arquivo CSS ✓ • JavaScript no

    rodapé ✓ • Poucos arquivos JavaScript ✓ • Minificar JS / CSS ✓
  11. Dois JavaScript não carregam juntos. A não ser que você

    queira... $LAB.js head.js RequireJS YepNope
  12. Checklist • Só um arquivo CSS ✓ • JavaScript no

    rodapé ✓ • Poucos arquivos JavaScript ✓ • Minificar JS / CSS ✓ • JavaScript assíncrono ✓
  13. Checklist • Só um arquivo CSS ✓ • JavaScript no

    rodapé ✓ • Poucos arquivos JavaScript ✓ • Minificar JS / CSS ✓ • JavaScript assíncrono ✓ • Content Delivery Network ✓
  14. Checklist • Só um arquivo CSS ✓ • JavaScript no

    rodapé ✓ • Poucos arquivos JavaScript ✓ • Minificar JS / CSS ✓ • JavaScript assíncrono ✓ • Content Delivery Network ✓ • gzip ✓
  15. Checklist • Só um arquivo CSS ✓ • JavaScript no

    rodapé ✓ • Poucos arquivos JavaScript ✓ • Minificar JS / CSS ✓ • JavaScript assíncrono ✓ • Content Delivery Network ✓ • gzip ✓ • Imagens otimizadas ✓
  16. Checklist • Só um arquivo CSS ✓ • JavaScript no

    rodapé ✓ • Poucos arquivos JavaScript ✓ • Minificar JS / CSS ✓ • JavaScript assíncrono ✓ • Content Delivery Network ✓ • gzip ✓ • Imagens otimizadas ✓ • CSS Sprites ✓
  17. "Existem duas coisas difíceis em TI: dar nome às coisas

    e invalidar cache" Alguém muito sábio