Your SlideShare is downloading. ×
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

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

530
views

Published on

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

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


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

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Drupal PerformanceDicas e técnicas para levar seu Drupal às nuvensDrupalcamp São Paulo 2013 by Paulino Michelazzo
  • 2. Por quê WPO? web performance optimization
  • 3. 57% dos 43%visitantes de sitesde viagens saem 57%após 3 segundos 25% mobile 3 sec > 3 sec
  • 4. 1 segundo é... - 7% - 11% - 16%conversões pageviews satisfação
  • 5. 1.6 bilhões de dólares em vendas anuais
  • 6. 25% de acréscimo em pageviews 7 a 12% aumento nas vendas 50% de redução de hardware
  • 7. tempo é dinheiro
  • 8. definindoperformance
  • 9. é lento ou está lento?
  • 10. O Drupal é lento? Não! Desenvolvedores e e designers o tornam lento
  • 11. 1ª regradefinir se o website é lento ou se ele está lento
  • 12. o que é lento?
  • 13. aquilo que impacta naconversão de usuários
  • 14. Top 300K 14% 86% 1.6 10.9 backend frontend
  • 15. 2ª regra 80 a 90% daslesmas estão no front-end Mate-as antes
  • 16. 80 ~ 90% no Drupal tema
  • 17. • Arquivos JavaScript• Arquivos CSS• Imagens• Requisições HTTP• DNS Lookup’s
  • 18. 3 arquivos ativar1 arquivo
  • 19. JavaScript• Colocá-los no fim do código• Minificar arquivos• Carregar arquivos externos assincronamente• Combinar arquivos
  • 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. 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. 8 arquivos ativar3 arquivos
  • 23. Apelando...function hook_css_alter(&$css) { // Remove defaults.css file. unset($css[drupal_get_path(module,system)/defaults.css]);}
  • 24. CSS• Colocá-los no início do código• Minificar arquivos• Fugir de @import• Combinar arquivos
  • 25. Imagens98k 25k 73k
  • 26. Imagens 51.1k53k 1.9k 97%
  • 27. Imagens• JPG DPI não se usa em • Progressivas monitor!!! • Qualidade• PNG • Indexadas
  • 28. requisições HTTP• Não fazer• Não fazer• Precisa fazer, reduza • (menos css, menos js, menos imagens)
  • 29. o terror da requisição404
  • 30. DNS Lookup’s• Reduza• Reduza• Precisa mesmo? Traga para mais perto • perto = dentro
  • 31. 3ª regra 10 e 20%rede e servidor difícil, mas não impossível
  • 32. tempo para 1º byte DNS lookup Conexão inicial Tempo de espera
  • 33. 10 ~ 20% no Drupal
  • 34. cache• APC - Alternative PHP Cache • cache de código PHP• Memcached • cache banco e código• Varnish • cache não-autenticado
  • 35. boost• Módulo que não depende de terceiros para funcionamento• Alternativa ao Varnish
  • 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. cache de blocos• Reduz o tempo de carga de blocos• Maravilhoso em conjunto com memcache
  • 38. Tips & Tricks
  • 39. • realpath_cache_size = 64K (monitore)• query_cache_size = 128M• query_cache_limit = 1M
  • 40. Corram!!!!!• Database logging (dblog)• Statistics• PHP filter
  • 41. Last words• Otimização é trabalhosa • mas o resultado vale a pena• Otimização é experiência • combinar ingredientes e cenários
  • 42. obrigado Paulino Michelazzo about.me/pmichelazzo