SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
“Tunando” o WordPress para sites de alta visitação
Israel Cefrin - WordCamp Porto Alegre - Julho 2013
Agenda 1Visitaçãoeperformance
2 Cacheeplugins
Páginas
BancodeDados
Objetos(widgets)
3DividireOtimizar
CDNcommanipulaçãodeImagens
APITransienteCachedeMenus
WP-CRON
4Servidoracelerado
AceleradoresHTTP
MariaDB
Visitaçãoeperformance
350
$ htop
Verificando o Load average
Cacheeplugins
Otimizar desempenho, não aumentar a carga.
2.Cacheeplugins
Simplicidade,rapidezesemnecessidadeprogramar.
Páginas-WPSuperCache
Banco- DBCacheReloadedFix
Objetos-WidgetCache
2.1.WPSuperCache
.PHPsempreéprocessado
usaremmod_rewrite
coletarolixo“porfora”
CachingdePáginas
2.2.DBCacheReloadedFix
guardaqueriesexecutadas
aliviaomysqldeconsultasrepetitivas
CachingdeBanco
2.3.WPWidgetCache
preservaoswidgets
expiraçãoindependenteentreobjetos
CachingdeObjetos
DividireOtimizar
Estratégia avançada para otimização agressiva
3.DividireOtimizar
Aprimorandoasoluçãomodularmenteemexendoemcódigo
JetPack-CDNemanipulaçãodeImagens
Menus-TransientAPI
WP-CRON- domandolikeaboss
3.1.JetPack
Distribuiçãoemservidores(CDN)
Manipulaçãodeimagempordemanda
0800(gratuito)
CDNePlugindemanipulaçãodeimagens
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/
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
3.3.WP-CRON
Por queeleexiste?
WPprojetadoparaambienteshostis
Dispararautomaticamentetarefas
3.3.WP-CRON
Efeitoscolaterais
RaceCondition
Sobrecarganoservidor
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
Servidoracelerado
Velocidade máxima no servidor
4.Servidoracelerado
AceleradoresHTTP
MariaDB
4.1.AceleradoresHTTP
Varnish
NginX+Apache+WPSuperCache
4.1.AceleradoresHTTP
NginXéowebservser
Apacheéumproxy
Páginasemcache(HTML)servidasda
memória
NãoháprocessamentoPHPouMySQL
Acessoadiscoémínimo
NginX+Apache+WPSuperCache
4.2.MariaDB
DataBaseopensource
TotalmentecompatívelcomMySQL
UtilizaXtraDB(evoluçãodoInnoDB)
DesempenhosuperioraoMySQL
Otimizando a solução
JETPACK
WP-CRON TRANSIENT
Plugins
Servidor
NginX
Apache
MariaDB
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/
Perguntas?
@israelcefrin
+israel.cefrin
fb:/israelcefrin

Weitere ähnliche Inhalte

Was ist angesagt?

Melhorando A Performance Da Sua Aplicação Web
Melhorando A Performance Da Sua Aplicação WebMelhorando A Performance Da Sua Aplicação Web
Melhorando A Performance Da Sua Aplicação WebMaurício Linhares
 
Quokka CMS - Desenvolvendo web apps com Flask e MongoDB - grupy - Outubro 2015
Quokka CMS - Desenvolvendo web apps com Flask e MongoDB - grupy - Outubro 2015Quokka CMS - Desenvolvendo web apps com Flask e MongoDB - grupy - Outubro 2015
Quokka CMS - Desenvolvendo web apps com Flask e MongoDB - grupy - Outubro 2015Bruno Rocha
 
Node.js - Devo adotar na minha empresa?
Node.js - Devo adotar na minha empresa?Node.js - Devo adotar na minha empresa?
Node.js - Devo adotar na minha empresa?Pablo Souza
 
PHP Classes - Desenvolvimento de sites de Web 2 0 em PHP para grandes audiências
PHP Classes - Desenvolvimento de sites de Web 2 0 em PHP para grandes audiênciasPHP Classes - Desenvolvimento de sites de Web 2 0 em PHP para grandes audiências
PHP Classes - Desenvolvimento de sites de Web 2 0 em PHP para grandes audiênciasManuel Lemos
 
Descobrindo o Nginx - Um servidor web de alta performance
Descobrindo o Nginx - Um servidor web de alta performanceDescobrindo o Nginx - Um servidor web de alta performance
Descobrindo o Nginx - Um servidor web de alta performanceGustavo Ciello
 
NGiNX, o motor da sua aplicação web
NGiNX, o motor da sua aplicação webNGiNX, o motor da sua aplicação web
NGiNX, o motor da sua aplicação webernaniaz
 
Mecanismo de Busca com Node.js + MongoDB
Mecanismo de Busca com Node.js + MongoDBMecanismo de Busca com Node.js + MongoDB
Mecanismo de Busca com Node.js + MongoDBLuiz Duarte
 
Mecanismo de busca PHP + MongoDB
Mecanismo de busca PHP + MongoDBMecanismo de busca PHP + MongoDB
Mecanismo de busca PHP + MongoDBLuiz Duarte
 
MongoDB: Prós, Contras e Showcases.
MongoDB: Prós, Contras e Showcases.MongoDB: Prós, Contras e Showcases.
MongoDB: Prós, Contras e Showcases.Leonardo Quevedo
 
Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]
Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]
Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]Tiago Hillebrandt
 
Introdução ao Google AppEngine
Introdução ao Google AppEngineIntrodução ao Google AppEngine
Introdução ao Google AppEngineRafael Nunes
 
Introdução ao MongoDB
Introdução ao MongoDBIntrodução ao MongoDB
Introdução ao MongoDBLuiz Duarte
 
Workshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseWorkshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseLuiz Duarte
 
Como se tornar um viciado em performance em 5 passos
Como se tornar um viciado em performance em 5 passosComo se tornar um viciado em performance em 5 passos
Como se tornar um viciado em performance em 5 passosPedro Chaves
 
Performance em Serviços Web - Vinicius Mello
Performance em Serviços Web - Vinicius MelloPerformance em Serviços Web - Vinicius Mello
Performance em Serviços Web - Vinicius MelloTchelinux
 
Minicurso Ruby e Rails (RailsMG UNA)
Minicurso Ruby e Rails (RailsMG UNA)Minicurso Ruby e Rails (RailsMG UNA)
Minicurso Ruby e Rails (RailsMG UNA)Daniel Lopes
 

Was ist angesagt? (20)

Melhorando A Performance Da Sua Aplicação Web
Melhorando A Performance Da Sua Aplicação WebMelhorando A Performance Da Sua Aplicação Web
Melhorando A Performance Da Sua Aplicação Web
 
Aceleracao+conteudo+dinamico
Aceleracao+conteudo+dinamicoAceleracao+conteudo+dinamico
Aceleracao+conteudo+dinamico
 
Quokka CMS - Desenvolvendo web apps com Flask e MongoDB - grupy - Outubro 2015
Quokka CMS - Desenvolvendo web apps com Flask e MongoDB - grupy - Outubro 2015Quokka CMS - Desenvolvendo web apps com Flask e MongoDB - grupy - Outubro 2015
Quokka CMS - Desenvolvendo web apps com Flask e MongoDB - grupy - Outubro 2015
 
Node.js - Devo adotar na minha empresa?
Node.js - Devo adotar na minha empresa?Node.js - Devo adotar na minha empresa?
Node.js - Devo adotar na minha empresa?
 
PHP Classes - Desenvolvimento de sites de Web 2 0 em PHP para grandes audiências
PHP Classes - Desenvolvimento de sites de Web 2 0 em PHP para grandes audiênciasPHP Classes - Desenvolvimento de sites de Web 2 0 em PHP para grandes audiências
PHP Classes - Desenvolvimento de sites de Web 2 0 em PHP para grandes audiências
 
Descobrindo o Nginx - Um servidor web de alta performance
Descobrindo o Nginx - Um servidor web de alta performanceDescobrindo o Nginx - Um servidor web de alta performance
Descobrindo o Nginx - Um servidor web de alta performance
 
NGiNX, o motor da sua aplicação web
NGiNX, o motor da sua aplicação webNGiNX, o motor da sua aplicação web
NGiNX, o motor da sua aplicação web
 
Mecanismo de Busca com Node.js + MongoDB
Mecanismo de Busca com Node.js + MongoDBMecanismo de Busca com Node.js + MongoDB
Mecanismo de Busca com Node.js + MongoDB
 
Mecanismo de busca PHP + MongoDB
Mecanismo de busca PHP + MongoDBMecanismo de busca PHP + MongoDB
Mecanismo de busca PHP + MongoDB
 
MongoDB: Prós, Contras e Showcases.
MongoDB: Prós, Contras e Showcases.MongoDB: Prós, Contras e Showcases.
MongoDB: Prós, Contras e Showcases.
 
Node.js no Pagar.me
Node.js no Pagar.meNode.js no Pagar.me
Node.js no Pagar.me
 
Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]
Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]
Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]
 
MongoDB + PHP
MongoDB + PHPMongoDB + PHP
MongoDB + PHP
 
Introdução ao Google AppEngine
Introdução ao Google AppEngineIntrodução ao Google AppEngine
Introdução ao Google AppEngine
 
Introdução ao MongoDB
Introdução ao MongoDBIntrodução ao MongoDB
Introdução ao MongoDB
 
Workshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseWorkshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + Mongoose
 
Mongo + php
Mongo + phpMongo + php
Mongo + php
 
Como se tornar um viciado em performance em 5 passos
Como se tornar um viciado em performance em 5 passosComo se tornar um viciado em performance em 5 passos
Como se tornar um viciado em performance em 5 passos
 
Performance em Serviços Web - Vinicius Mello
Performance em Serviços Web - Vinicius MelloPerformance em Serviços Web - Vinicius Mello
Performance em Serviços Web - Vinicius Mello
 
Minicurso Ruby e Rails (RailsMG UNA)
Minicurso Ruby e Rails (RailsMG UNA)Minicurso Ruby e Rails (RailsMG UNA)
Minicurso Ruby e Rails (RailsMG UNA)
 

Ähnlich wie Otimizando um site WordPress de alta visitação

Utilizando cache com WordPress: tenha o seu website decolando sem sair do lugar
Utilizando cache com WordPress: tenha o seu website decolando sem sair do lugarUtilizando cache com WordPress: tenha o seu website decolando sem sair do lugar
Utilizando cache com WordPress: tenha o seu website decolando sem sair do lugarmeetupwordpressfln
 
Cache em aplicações web
Cache em aplicações webCache em aplicações web
Cache em aplicações webJean Carlo Emer
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
Copa do mundo no brasil interagindo com os torcedores em tempo real
Copa do mundo no brasil   interagindo com os torcedores em tempo realCopa do mundo no brasil   interagindo com os torcedores em tempo real
Copa do mundo no brasil interagindo com os torcedores em tempo realAmazon Web Services LATAM
 
Desenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveisDesenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveiselliando dias
 
Desenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmDesenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmGuilherme Blanco
 
DOMinando JavaScript
DOMinando JavaScriptDOMinando JavaScript
DOMinando JavaScriptThiago Poiani
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemRodrigo Valerio
 
Melhorando o desempenho do seu WordPress
Melhorando o desempenho do seu WordPressMelhorando o desempenho do seu WordPress
Melhorando o desempenho do seu WordPressJulian Fernandes
 
Core Web Vitals - Técnicas de Performance Web pra Javascript
Core Web Vitals - Técnicas de Performance Web pra Javascript Core Web Vitals - Técnicas de Performance Web pra Javascript
Core Web Vitals - Técnicas de Performance Web pra Javascript CamiloMicheletto1
 
Qcon 2013 - Walmart Frontend Solution using Node.js
Qcon 2013 - Walmart Frontend Solution using Node.jsQcon 2013 - Walmart Frontend Solution using Node.js
Qcon 2013 - Walmart Frontend Solution using Node.jsJorge Walendowsky
 
OpenShift: NoSQL "a la carte" num PaaS 100% Open Source
OpenShift: NoSQL  "a la carte"  num PaaS 100% Open SourceOpenShift: NoSQL  "a la carte"  num PaaS 100% Open Source
OpenShift: NoSQL "a la carte" num PaaS 100% Open SourceEdgar Silva
 
Desenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLIDesenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLIRudá Almeida
 
Performance - Acelere seu site! Na web tempo é mais que dinheiro.
Performance - Acelere seu site! Na web tempo é mais que dinheiro.Performance - Acelere seu site! Na web tempo é mais que dinheiro.
Performance - Acelere seu site! Na web tempo é mais que dinheiro.Gustavo Corrêa Alves
 
PHP Jedi - Boas Práticas e Alta Performance
PHP Jedi - Boas Práticas e Alta PerformancePHP Jedi - Boas Práticas e Alta Performance
PHP Jedi - Boas Práticas e Alta PerformanceFelipe Ribeiro
 

Ähnlich wie Otimizando um site WordPress de alta visitação (20)

Vamos conversar sobre cache
Vamos conversar sobre cacheVamos conversar sobre cache
Vamos conversar sobre cache
 
Utilizando cache com WordPress: tenha o seu website decolando sem sair do lugar
Utilizando cache com WordPress: tenha o seu website decolando sem sair do lugarUtilizando cache com WordPress: tenha o seu website decolando sem sair do lugar
Utilizando cache com WordPress: tenha o seu website decolando sem sair do lugar
 
Cache em aplicações web
Cache em aplicações webCache em aplicações web
Cache em aplicações web
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
Caching
CachingCaching
Caching
 
Copa do mundo no brasil interagindo com os torcedores em tempo real
Copa do mundo no brasil   interagindo com os torcedores em tempo realCopa do mundo no brasil   interagindo com os torcedores em tempo real
Copa do mundo no brasil interagindo com os torcedores em tempo real
 
Desenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveisDesenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveis
 
Desenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmDesenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine Orm
 
Web Performance Client Side
Web Performance Client SideWeb Performance Client Side
Web Performance Client Side
 
DOMinando JavaScript
DOMinando JavaScriptDOMinando JavaScript
DOMinando JavaScript
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvem
 
Melhorando o desempenho do seu WordPress
Melhorando o desempenho do seu WordPressMelhorando o desempenho do seu WordPress
Melhorando o desempenho do seu WordPress
 
Core Web Vitals - Técnicas de Performance Web pra Javascript
Core Web Vitals - Técnicas de Performance Web pra Javascript Core Web Vitals - Técnicas de Performance Web pra Javascript
Core Web Vitals - Técnicas de Performance Web pra Javascript
 
Qcon 2013 - Walmart Frontend Solution using Node.js
Qcon 2013 - Walmart Frontend Solution using Node.jsQcon 2013 - Walmart Frontend Solution using Node.js
Qcon 2013 - Walmart Frontend Solution using Node.js
 
OpenShift: NoSQL "a la carte" num PaaS 100% Open Source
OpenShift: NoSQL  "a la carte"  num PaaS 100% Open SourceOpenShift: NoSQL  "a la carte"  num PaaS 100% Open Source
OpenShift: NoSQL "a la carte" num PaaS 100% Open Source
 
Desenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLIDesenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLI
 
Performance - Acelere seu site! Na web tempo é mais que dinheiro.
Performance - Acelere seu site! Na web tempo é mais que dinheiro.Performance - Acelere seu site! Na web tempo é mais que dinheiro.
Performance - Acelere seu site! Na web tempo é mais que dinheiro.
 
Slides da palestra no Flex mania 2011
Slides da palestra no Flex mania 2011Slides da palestra no Flex mania 2011
Slides da palestra no Flex mania 2011
 
De 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuáriosDe 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuários
 
PHP Jedi - Boas Práticas e Alta Performance
PHP Jedi - Boas Práticas e Alta PerformancePHP Jedi - Boas Práticas e Alta Performance
PHP Jedi - Boas Práticas e Alta Performance
 

Otimizando um site WordPress de alta visitação