Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Saturday, September 13, 14
Saturday, September 13, 14
Jake Spurlock 
@whyisjake jake_spurlock@wired.com 
jakespurlock.com 
Saturday, September 13, 14
Saturday, September 13, 14
Saturday, September 13, 14
Saturday, September 13, 14
Saturday, September 13, 14
Saturday, September 13, 14
Saturday, September 13, 14
Business 
Technology Design 
Saturday, September 13, 14
Saturday, September 13, 14
Saturday, September 13, 14
WP_Query()* 
Saturday, September 13, 14
WP_Query()* 
*and the future... 
Saturday, September 13, 14
Performance... 
Saturday, September 13, 14
•Why server-side performance issues happen? 
•Diagnosing and Solving 
•Common Performance Issues 
•Deep Dive into Cache St...
Data... 
URL where the issue happened? front-end? backend? both? 
specific actions? Any errors seen or reported? Screensho...
Three RRRules to Make 
Things Faster... 
★ Reduce: Do fewer things 
★ Reuse: Cache the things you already did 
★ Recycle: ...
Free Bonus Rule 
•Remove: Get rid of it completely... 
Saturday, September 13, 14
WP_Query()? 
Saturday, September 13, 14
Let’s talk about 
caching... 
Saturday, September 13, 14
Saturday, September 13, 14
Saturday, September 13, 14
Page Caching... 
Saturday, September 13, 14
Page Caching... 
• W3 Total Cache 
• WP Super Cache 
• Batcache 
• Varnish 
• Akamai 
Saturday, September 13, 14
memcached or APC 
Saturday, September 13, 14
Saturday, September 13, 14
Node.js? 
Saturday, September 13, 14
WP JSON API? 
Saturday, September 13, 14
Cache Params 
Saturday, September 13, 14
wp_cache_* 
Saturday, September 13, 14
What if just returned IDs? 
fields => ids 
Saturday, September 13, 14
wp_cache_* 
Saturday, September 13, 14
Remote Data.... 
$facebook_graph_url = 'https://graph.facebook.com/WordPress' 
$response = wp_remote_get( $facebook_graph_...
Remote Data.... 
$.getJSON( 
'https://graph.facebook.com/WordPress', 
function( response ) { 
console.log( response.likes ...
Saturday, September 13, 14
Questions? 
Saturday, September 13, 14
Wired is hiring... 
email me: jake_spurlock@wired.com 
wired.com 
20,000 - 40,000 concurrent vistors... 
Saturday, Septemb...
Jake Spurlock 
@whyisjake jake_spurlock@wired.com 
jakespurlock.com 
Saturday, September 13, 14
Upcoming SlideShare
Loading in …5
×

High Performance WordPress

My talk from WordCamp SLC. Talk was about WP_Query, Node.js, and love...

Pitfalls, and other performance bottlenecks.

  • Login to see the comments

  • Be the first to like this

High Performance WordPress

  1. 1. Saturday, September 13, 14
  2. 2. Saturday, September 13, 14
  3. 3. Jake Spurlock @whyisjake jake_spurlock@wired.com jakespurlock.com Saturday, September 13, 14
  4. 4. Saturday, September 13, 14
  5. 5. Saturday, September 13, 14
  6. 6. Saturday, September 13, 14
  7. 7. Saturday, September 13, 14
  8. 8. Saturday, September 13, 14
  9. 9. Saturday, September 13, 14
  10. 10. Business Technology Design Saturday, September 13, 14
  11. 11. Saturday, September 13, 14
  12. 12. Saturday, September 13, 14
  13. 13. WP_Query()* Saturday, September 13, 14
  14. 14. WP_Query()* *and the future... Saturday, September 13, 14
  15. 15. Performance... Saturday, September 13, 14
  16. 16. •Why server-side performance issues happen? •Diagnosing and Solving •Common Performance Issues •Deep Dive into Cache Stampedes Saturday, September 13, 14
  17. 17. Data... URL where the issue happened? front-end? backend? both? specific actions? Any errors seen or reported? Screenshot or screencast available? Happening to everyone or just one person or a small group? Happening everywhere (desktop, mobile with 3G, mobile with wifi)? Reproducible consistently? or Sporadic? etc... Saturday, September 13, 14
  18. 18. Three RRRules to Make Things Faster... ★ Reduce: Do fewer things ★ Reuse: Cache the things you already did ★ Recycle: Use existing code to do the things Saturday, September 13, 14
  19. 19. Free Bonus Rule •Remove: Get rid of it completely... Saturday, September 13, 14
  20. 20. WP_Query()? Saturday, September 13, 14
  21. 21. Let’s talk about caching... Saturday, September 13, 14
  22. 22. Saturday, September 13, 14
  23. 23. Saturday, September 13, 14
  24. 24. Page Caching... Saturday, September 13, 14
  25. 25. Page Caching... • W3 Total Cache • WP Super Cache • Batcache • Varnish • Akamai Saturday, September 13, 14
  26. 26. memcached or APC Saturday, September 13, 14
  27. 27. Saturday, September 13, 14
  28. 28. Node.js? Saturday, September 13, 14
  29. 29. WP JSON API? Saturday, September 13, 14
  30. 30. Cache Params Saturday, September 13, 14
  31. 31. wp_cache_* Saturday, September 13, 14
  32. 32. What if just returned IDs? fields => ids Saturday, September 13, 14
  33. 33. wp_cache_* Saturday, September 13, 14
  34. 34. Remote Data.... $facebook_graph_url = 'https://graph.facebook.com/WordPress' $response = wp_remote_get( $facebook_graph_url ); $data = json_decode( $response ); echo $data->likes; Saturday, September 13, 14
  35. 35. Remote Data.... $.getJSON( 'https://graph.facebook.com/WordPress', function( response ) { console.log( response.likes ); } ); Saturday, September 13, 14
  36. 36. Saturday, September 13, 14
  37. 37. Questions? Saturday, September 13, 14
  38. 38. Wired is hiring... email me: jake_spurlock@wired.com wired.com 20,000 - 40,000 concurrent vistors... Saturday, September 13, 14
  39. 39. Jake Spurlock @whyisjake jake_spurlock@wired.com jakespurlock.com Saturday, September 13, 14

×