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

Avatar for Pedro Chaves

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