High Performance WordPress

Post on 01-Jul-2015

479 views 0 download

description

My talk from WordCamp SLC. Talk was about WP_Query, Node.js, and love... Pitfalls, and other performance bottlenecks.

transcript

Saturday, September 13, 14

Saturday, September 13, 14

Jake Spurlockjake_spurlock@wired.com@whyisjake

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 Stampedes

Saturday, September 13, 14

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

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

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

$facebook_graph_url = 'https://graph.facebook.com/WordPress'$response = wp_remote_get( $facebook_graph_url );$data = json_decode( $response );echo $data->likes;

Remote Data....

Saturday, September 13, 14

$.getJSON('https://graph.facebook.com/WordPress', function( response ) { console.log( response.likes ); });

Remote Data....

Saturday, September 13, 14

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, September 13, 14

Jake Spurlockjake_spurlock@wired.com@whyisjake

jakespurlock.com

Saturday, September 13, 14