Tunando o Wordpress para sites de alta visitação

1.557 visualizações

Publicada em

Palestra apresentada no Wordcamp 2013 em Porto Alegre

Publicada em: Tecnologia
0 comentários
14 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.557
No SlideShare
0
A partir de incorporações
0
Número de incorporações
132
Ações
Compartilhamentos
0
Downloads
40
Comentários
0
Gostaram
14
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Tunando o Wordpress para sites de alta visitação

  1. 1. “Tunando” o WordPress para sites de alta visitação Israel Cefrin - WordCamp Porto Alegre - Julho 2013
  2. 2. Agenda 1Visitaçãoeperformance 2 Cacheeplugins Páginas BancodeDados Objetos(widgets) 3DividireOtimizar CDNcommanipulaçãodeImagens APITransienteCachedeMenus WP-CRON 4Servidoracelerado AceleradoresHTTP MariaDB
  3. 3. Visitaçãoeperformance
  4. 4. 350
  5. 5. $ htop Verificando o Load average
  6. 6. Cacheeplugins
  7. 7. Otimizar desempenho, não aumentar a carga.
  8. 8. 2.Cacheeplugins Simplicidade,rapidezesemnecessidadeprogramar. Páginas-WPSuperCache Banco- DBCacheReloadedFix Objetos-WidgetCache
  9. 9. 2.1.WPSuperCache .PHPsempreéprocessado usaremmod_rewrite coletarolixo“porfora” CachingdePáginas
  10. 10. 2.2.DBCacheReloadedFix guardaqueriesexecutadas aliviaomysqldeconsultasrepetitivas CachingdeBanco
  11. 11. 2.3.WPWidgetCache preservaoswidgets expiraçãoindependenteentreobjetos CachingdeObjetos
  12. 12. DividireOtimizar
  13. 13. Estratégia avançada para otimização agressiva
  14. 14. 3.DividireOtimizar Aprimorandoasoluçãomodularmenteemexendoemcódigo JetPack-CDNemanipulaçãodeImagens Menus-TransientAPI WP-CRON- domandolikeaboss
  15. 15. 3.1.JetPack Distribuiçãoemservidores(CDN) Manipulaçãodeimagempordemanda 0800(gratuito) CDNePlugindemanipulaçãodeimagens
  16. 16. 3.1.JetPack Exemplosdeuso http://dominio.com.br/wp-content/uploads/2013/07/imagem.jpg http://i0.wp.com/dominio.com.br/wp-content/uploads/2013/07/imagem.jpg?resize=100,100 http://developer.wordpress.com/docs/photon/api/
  17. 17. 3.2.Menus-TransientAPI AcelereoWordPressfazendocachedemenus function  getThemesMenu() {        $menu  =  get_transient('cfMenu');          if  (false  ===  $menu)  {                                //  parameter  echo  will  return  the  menu  instead  of  echoing  it                $menu  =  wp_nav_menu(  array(  'theme_location'  =>  'primary',  'echo'  =>  0  )  );                set_transient('cfMenu',  $menu,  60*3);        }          return  $menu; } function  updateMenu() {        delete_transient('cfMenu'); }   add_action(  'wp_update_nav_menu',  'updateMenu'  ); http://www.codeforest.net/wordpress-transients-api-caching-benchmarks
  18. 18. 3.3.WP-CRON Por queeleexiste? WPprojetadoparaambienteshostis Dispararautomaticamentetarefas
  19. 19. 3.3.WP-CRON Efeitoscolaterais RaceCondition Sobrecarganoservidor
  20. 20. 3.3.WP-CRON Comodomar? Desativarowp-cronnowp-config.php define('DISABLE_WP_CRON',  true); Reativeno crondoservidor(linux) *  *  *  *  *  /usr/bin/wget  http://www.dominio.com/wp-­‐cron.php? doing_wp_cron  -­‐O  /dev/null  >  /dev/null  2>&1
  21. 21. Servidoracelerado
  22. 22. Velocidade máxima no servidor
  23. 23. 4.Servidoracelerado AceleradoresHTTP MariaDB
  24. 24. 4.1.AceleradoresHTTP Varnish NginX+Apache+WPSuperCache
  25. 25. 4.1.AceleradoresHTTP NginXéowebservser Apacheéumproxy Páginasemcache(HTML)servidasda memória NãoháprocessamentoPHPouMySQL Acessoadiscoémínimo NginX+Apache+WPSuperCache
  26. 26. 4.2.MariaDB DataBaseopensource TotalmentecompatívelcomMySQL UtilizaXtraDB(evoluçãodoInnoDB) DesempenhosuperioraoMySQL
  27. 27. Otimizando a solução JETPACK WP-CRON TRANSIENT Plugins Servidor NginX Apache MariaDB
  28. 28. Referências Cache wordpress.org/plugins/wp-widget-cache/ wordpress.org/plugins/wp-super-cache/ wordpress.org/plugins/db-cache-reloaded-fix/ janio.sarmento.org/365posts-acelere-seu-wordpress-fazendo-cache-dos- menus.html portofacil.net/ajude-o-cache-do-wordpress-a-ajudar-seu-site.html CRON portofacil.net/domando-o-wp-cron-php.html JETPACK PHOTON API developer.wordpress.com/docs/photon/api/
  29. 29. Perguntas? @israelcefrin +israel.cefrin fb:/israelcefrin

×