0
Drupal PerformanceDicas e técnicas para levar seu Drupal às nuvensDrupalcamp São Paulo 2013  by Paulino Michelazzo
Por quê WPO?  web performance optimization
57% dos                      43%visitantes de sitesde viagens saem                       57%após 3 segundos       25% mobi...
1 segundo é...   - 7%        - 11%       - 16%conversões   pageviews   satisfação
1.6 bilhões de dólares em      vendas anuais
25% de acréscimo em pageviews 7 a 12% aumento nas vendas  50% de redução de hardware
tempo é dinheiro
definindoperformance
é lento ou está lento?
O Drupal é lento?         Não!         Desenvolvedores e         e designers o         tornam lento
1ª regradefinir se o website é lento   ou se ele está lento
o que é lento?
aquilo que impacta naconversão de usuários
Top 300K  14%       86%    1.6               10.9 backend   frontend
2ª regra  80 a 90% daslesmas estão no    front-end          Mate-as antes
80 ~ 90% no Drupal    tema
• Arquivos JavaScript• Arquivos CSS• Imagens• Requisições HTTP• DNS Lookup’s
3 arquivos       ativar1 arquivo
JavaScript• Colocá-los no fim do código• Minificar arquivos• Carregar arquivos externos  assincronamente• Combinar arquivos
Carga assíncronavar script = document.createElement(script),    scripts = document.getElementsByTagName(script)[0];script....
FiF - frame in frame(function() {  var url = http://example.org/js.js;  var iframe = document.createElement(iframe);  (ifr...
8 arquivos       ativar3 arquivos
Apelando...function hook_css_alter(&$css) {  // Remove defaults.css file.  unset($css[drupal_get_path(module,system)/defau...
CSS• Colocá-los no início do código• Minificar arquivos• Fugir de @import• Combinar arquivos
Imagens98k             25k       73k
Imagens      51.1k53k             1.9k       97%
Imagens• JPG               DPI não se usa em • Progressivas         monitor!!! • Qualidade• PNG • Indexadas
requisições HTTP• Não fazer• Não fazer• Precisa fazer, reduza • (menos css, menos js, menos imagens)
o terror da requisição404
DNS Lookup’s• Reduza• Reduza• Precisa mesmo? Traga para mais perto • perto = dentro
3ª regra   10 e 20%rede e servidor        difícil, mas não           impossível
tempo para 1º byte       DNS lookup     Conexão inicial     Tempo de espera
10 ~ 20% no Drupal
cache• APC - Alternative PHP Cache • cache de código PHP• Memcached • cache banco e código• Varnish • cache não-autenticado
boost• Módulo que não depende de terceiros  para funcionamento• Alternativa ao Varnish
views• views cache • basta ativar• views litepager (drupal.org/project/  views_litepager) • remove query COUNT • não apres...
cache de blocos• Reduz o tempo de carga de blocos• Maravilhoso em conjunto com  memcache
Tips & Tricks
• realpath_cache_size = 64K (monitore)• query_cache_size = 128M• query_cache_limit = 1M
Corram!!!!!• Database logging (dblog)• Statistics• PHP filter
Last words• Otimização é trabalhosa • mas o resultado vale a pena• Otimização é experiência • combinar ingredientes e cená...
obrigado      Paulino Michelazzo     about.me/pmichelazzo
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Upcoming SlideShare
Loading in...5
×

Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens

591

Published on

Palestra proferida em 20/04/2013 na DrupalCamp São Paulo 2013.

1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total Views
591
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
14
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens"

  1. 1. Drupal PerformanceDicas e técnicas para levar seu Drupal às nuvensDrupalcamp São Paulo 2013 by Paulino Michelazzo
  2. 2. Por quê WPO? web performance optimization
  3. 3. 57% dos 43%visitantes de sitesde viagens saem 57%após 3 segundos 25% mobile 3 sec > 3 sec
  4. 4. 1 segundo é... - 7% - 11% - 16%conversões pageviews satisfação
  5. 5. 1.6 bilhões de dólares em vendas anuais
  6. 6. 25% de acréscimo em pageviews 7 a 12% aumento nas vendas 50% de redução de hardware
  7. 7. tempo é dinheiro
  8. 8. definindoperformance
  9. 9. é lento ou está lento?
  10. 10. O Drupal é lento? Não! Desenvolvedores e e designers o tornam lento
  11. 11. 1ª regradefinir se o website é lento ou se ele está lento
  12. 12. o que é lento?
  13. 13. aquilo que impacta naconversão de usuários
  14. 14. Top 300K 14% 86% 1.6 10.9 backend frontend
  15. 15. 2ª regra 80 a 90% daslesmas estão no front-end Mate-as antes
  16. 16. 80 ~ 90% no Drupal tema
  17. 17. • Arquivos JavaScript• Arquivos CSS• Imagens• Requisições HTTP• DNS Lookup’s
  18. 18. 3 arquivos ativar1 arquivo
  19. 19. JavaScript• Colocá-los no fim do código• Minificar arquivos• Carregar arquivos externos assincronamente• Combinar arquivos
  20. 20. Carga assíncronavar script = document.createElement(script), scripts = document.getElementsByTagName(script)[0];script.async = true;script.src = url;scripts.parentNode.insertBefore(script, scripts);
  21. 21. FiF - frame in frame(function() { var url = http://example.org/js.js; var iframe = document.createElement(iframe); (iframe.frameElement || iframe).style.cssText = "width: 0; height: 0; border: 0"; iframe.src = "javascript:false"; var where = document.getElementsByTagName(script)[0]; where.parentNode.insertBefore(iframe, where); var doc = iframe.contentWindow.document; doc.open().write(<body onload="+ var js = document.createElement(script);+ js.src = + url +;+ document.body.appendChild(js);">); doc.close();}()); https://www.facebook.com/note.php? note_id=10151176218703920
  22. 22. 8 arquivos ativar3 arquivos
  23. 23. Apelando...function hook_css_alter(&$css) { // Remove defaults.css file. unset($css[drupal_get_path(module,system)/defaults.css]);}
  24. 24. CSS• Colocá-los no início do código• Minificar arquivos• Fugir de @import• Combinar arquivos
  25. 25. Imagens98k 25k 73k
  26. 26. Imagens 51.1k53k 1.9k 97%
  27. 27. Imagens• JPG DPI não se usa em • Progressivas monitor!!! • Qualidade• PNG • Indexadas
  28. 28. requisições HTTP• Não fazer• Não fazer• Precisa fazer, reduza • (menos css, menos js, menos imagens)
  29. 29. o terror da requisição404
  30. 30. DNS Lookup’s• Reduza• Reduza• Precisa mesmo? Traga para mais perto • perto = dentro
  31. 31. 3ª regra 10 e 20%rede e servidor difícil, mas não impossível
  32. 32. tempo para 1º byte DNS lookup Conexão inicial Tempo de espera
  33. 33. 10 ~ 20% no Drupal
  34. 34. cache• APC - Alternative PHP Cache • cache de código PHP• Memcached • cache banco e código• Varnish • cache não-autenticado
  35. 35. boost• Módulo que não depende de terceiros para funcionamento• Alternativa ao Varnish
  36. 36. views• views cache • basta ativar• views litepager (drupal.org/project/ views_litepager) • remove query COUNT • não apresenta nº total de páginas • não permite navegação para última
  37. 37. cache de blocos• Reduz o tempo de carga de blocos• Maravilhoso em conjunto com memcache
  38. 38. Tips & Tricks
  39. 39. • realpath_cache_size = 64K (monitore)• query_cache_size = 128M• query_cache_limit = 1M
  40. 40. Corram!!!!!• Database logging (dblog)• Statistics• PHP filter
  41. 41. Last words• Otimização é trabalhosa • mas o resultado vale a pena• Otimização é experiência • combinar ingredientes e cenários
  42. 42. obrigado Paulino Michelazzo about.me/pmichelazzo
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×