29
“Tunando” o WordPress para sites de alta visitação Israel Cefrin - WordCamp Porto Alegre - Julho 2013

Tunando o Wordpress para sites de alta visitação

Embed Size (px)

DESCRIPTION

Palestra apresentada no Wordcamp 2013 em Porto Alegre

Citation preview

Page 1: Tunando o Wordpress para sites de alta visitação

“Tunando” o WordPress para sites de alta visitação

Israel Cefrin - WordCamp Porto Alegre - Julho 2013

Page 2: Tunando o Wordpress para sites de alta visitação

Agenda 1 Visitação e performance2 Cache e plugins

PáginasBanco de DadosObjetos (widgets)

3 Dividir e OtimizarCDN com manipulação de ImagensAPI Transient e Cache de MenusWP-CRON

4 Servidor aceleradoAceleradores HTTPMariaDB

Page 3: Tunando o Wordpress para sites de alta visitação

Visitação e performance

Page 4: Tunando o Wordpress para sites de alta visitação

350

Page 5: Tunando o Wordpress para sites de alta visitação

$ htopVerificando o Load average

Page 6: Tunando o Wordpress para sites de alta visitação

Cache e plugins

Page 7: Tunando o Wordpress para sites de alta visitação

Otimizar desempenho, não aumentar a carga.

Page 8: Tunando o Wordpress para sites de alta visitação

2. Cache e pluginsSimplicidade, rapidez e sem necessidade programar.

Páginas - WP Super CacheBanco - DB Cache Reloaded FixObjetos - Widget Cache

Page 9: Tunando o Wordpress para sites de alta visitação

2.1. WP Super Cache

.PHP sempre é processadousar em mod_rewritecoletar o lixo “por fora”

Caching de Páginas

Page 10: Tunando o Wordpress para sites de alta visitação

2.2. DB Cache Reloaded Fix

guarda queries executadasalivia o mysql de consultas repetitivas

Caching de Banco

Page 11: Tunando o Wordpress para sites de alta visitação

2.3. WP Widget Cache

preserva os widgetsexpiração independente entre objetos

Caching de Objetos

Page 12: Tunando o Wordpress para sites de alta visitação

Dividir e Otimizar

Page 13: Tunando o Wordpress para sites de alta visitação

Estratégia avançada para otimização agressiva

Page 14: Tunando o Wordpress para sites de alta visitação

3. Dividir e OtimizarAprimorando a solução modularmente e mexendo em código

JetPack - CDN e manipulação de Imagens Menus - Transient APIWP-CRON - domando like a boss

Page 15: Tunando o Wordpress para sites de alta visitação

3.1. JetPack

Distribuição em servidores (CDN)Manipulação de imagem por demanda0800 (gratuito)

CDN e Plugin de manipulação de imagens

Page 17: Tunando o Wordpress para sites de alta visitação

3.2. Menus - Transient APIAcelere o WordPress fazendo cache de menus

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

Page 18: Tunando o Wordpress para sites de alta visitação

3.3. WP-CRONPor que ele existe?

WP projetado para ambientes hostisDisparar automaticamente tarefas

Page 19: Tunando o Wordpress para sites de alta visitação

3.3. WP-CRONEfeitos colaterais

Race ConditionSobrecarga no servidor

Page 20: Tunando o Wordpress para sites de alta visitação

3.3. WP-CRONComo domar?

Desativar o wp-cron no wp-config.php

define('DISABLE_WP_CRON',  true);

Reative no cron do servidor (linux)

*  *  *  *  *  /usr/bin/wget  http://www.dominio.com/wp-­‐cron.php?doing_wp_cron  -­‐O  /dev/null  >  /dev/null  2>&1

Page 21: Tunando o Wordpress para sites de alta visitação

Servidor acelerado

Page 22: Tunando o Wordpress para sites de alta visitação

Velocidade máxima no servidor

Page 23: Tunando o Wordpress para sites de alta visitação

4. Servidor acelerado

Aceleradores HTTP MariaDB

Page 24: Tunando o Wordpress para sites de alta visitação

4.1. Aceleradores HTTP

VarnishNginX + Apache + WP Super Cache

Page 25: Tunando o Wordpress para sites de alta visitação

4.1. Aceleradores HTTP

NginX é o webservserApache é um proxyPáginas em cache (HTML) servidas da memóriaNão há processamento PHP ou MySQLAcesso a disco é mínimo

NginX + Apache + WP Super Cache

Page 26: Tunando o Wordpress para sites de alta visitação

4.2. MariaDB

DataBase opensourceTotalmente compatível com MySQLUtiliza XtraDB (evolução do InnoDB)Desempenho superior ao MySQL

Page 27: Tunando o Wordpress para sites de alta visitação

Otimizando a solução

JETPACK

WP-CRON TRANSIENT

Plugins

Servidor

NginX

Apa

che

MariaDB

Page 28: Tunando o Wordpress para sites de alta visitação

ReferênciasCache

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/

Page 29: Tunando o Wordpress para sites de alta visitação

Perguntas?@israelcefrin +israel.cefrin

fb: /israelcefrin