Gary Pendergast: WordPress Performance Tuning

Gary Pendergast: WordPress Performance Tuning

When you have a great idea for a site, you need WordPress to scale with you. From your first shared host, through to racks of high powered hardware, how do you get WordPress to keep up?

Learn about the tools and techniques you can use to keep your site running smoothly for it’s entire life, regardless of what the rest of the internet throws at it.

073054d5848746e939c7165bc90a507b?s=128

WP Australia

April 27, 2013
Tweet

Transcript

  1. WordPress Performance Tuning A Narrative

  2. Gary Pendergast @GaryPendergast pento.net

  3. THINK AHEAD

  4. IN THE BEGINNING

  5. HOSTING

  6. None
  7. WP SUPER CACHE google: wp super cache

  8. None
  9. None
  10. None
  11. None
  12. UPDATE: It’s an uncached WordPress site, so, no surprise, it’s

    crapped out. “
  13. INNODB

  14. ALTER TABLE ENGINE=InnoDB; wp_posts

  15. ALTER TABLE ENGINE=InnoDB; wp_postmeta

  16. ALTER TABLE ENGINE=InnoDB; wp_users

  17. ALTER TABLE ENGINE=InnoDB; ............

  18. GROWING PAINS

  19. None
  20. None
  21. None
  22. innodb_buffer_pool_size

  23. query_cache_size = 0 query_cache_type = 0

  24. LIES

  25. THINGS THAT ARE BAD QUERY CACHE

  26. THINGS THAT ARE GOOD INNODB BUFFER POOL

  27. OPCODE CACHE

  28. <?php ...

  29. <?php ... 001101011

  30. <?php ... 001101011 OPCODE CACHE

  31. <?php ... 001101011 OPCODE CACHE

  32. APC google: php apc

  33. CDN

  34. MULTI SERVER

  35. MEMCACHED

  36. OBJECT CACHE http://wordpress.org/extend/plugins/memcached/

  37. BATCACHE google: batcache

  38. THINK AHEAD

  39. THINK AHEAD ... but not too far ahead

  40. HYPERDB google: hyperdb

  41. $wpdb->add_database( array( 'host' => 'master.server', 'user' => 'wordpress', 'password' =>

    'lol1234', 'name' => 'wordpress' ) );
  42. REPLICATION

  43. MASTER SLAVE

  44. MASTER SLAVE SLAVE SLAVE

  45. $wpdb->add_database( array( 'host' => 'slave1.server', 'user' => 'wordpress', 'password' =>

    'lol1234', 'name' => 'wordpress', 'write' => 0, 'read' => 1, 'dataset' => 'global', 'timeout' => 0.2 ) );
  46. MASTER SLAVE SLAVE SLAVE MASTER

  47. MASTER SLAVE SLAVE SLAVE MASTER

  48. REPLICATION google: mysql replication

  49. SHARDING

  50. USE THE TOOLS

  51. THINK AHEAD

  52. THINK AHEAD ... but not too far ahead

  53. automattic.com/work-with-us QUESTIONS? @GaryPendergast