A crash course in scaling wordpress

6,836 views

Published on

WordPress.org's Andrew Nacin will join us again for a session where he shares some tips and ideas around scaling WordPress in the enterprise.

Published in: Technology, Business
1 Comment
4 Likes
Statistics
Notes
No Downloads
Views
Total views
6,836
On SlideShare
0
From Embeds
0
Number of Embeds
4,924
Actions
Shares
0
Downloads
11
Comments
1
Likes
4
Embeds 0
No embeds

No notes for slide

A crash course in scaling wordpress

  1. 1. A Crash Course inScaling WordPress
  2. 2. A Crash Course inScaling WordPressor: let me at leastshow you what is possible(in 8 minutes)
  3. 3. A Crash Course inScaling WordPressor: let me at leastshow you what is possible(in 8 minutes)
  4. 4. A Crash Course inScaling WordPressor: let me at leastshow you what is possible(in 8 minutes)[and then Ill take questions]
  5. 5. • Andrew Nacin• Lead Developer for WordPress• Washington, D.C.• Work for WP founder Matt Mullenweg(Dont work for Automattic or WP.com)• Full time on WordPress (the project)and WordPress.org (the site)
  6. 6. WordPress can scale(no, really!)
  7. 7. WordPress can scale(and its easy!)
  8. 8. nginx
  9. 9. nginx
  10. 10. nginx
  11. 11. nginx
  12. 12. nginx
  13. 13. nginx(with PHP-FPM)
  14. 14. • nginx is a web server (like Apache or IIS)• nginx is better• nginx is so much better it isnt even funny• Well-tuned Apache can serve a few hundredrequests a second• nginx can serve 10,000 requests/sec and up
  15. 15. nginx can be a…• request router/load balancer (layer 7)• load balancer(layer 4)• front end proxy (often proxying to Apache)• web server (using PHP-FPM)• cache (fastcgi_cache and proxy_cache)
  16. 16. nginx can be a…• request router/load balancer (layer 7)• load balancer(layer 4)• front end proxy (often proxying to Apache)• web server (using PHP-FPM)• cache (fastcgi_cache and proxy_cache)and it is all of these things for WP.com and WP.org
  17. 17. If you cant switch out Apache(because reasons)Try to still still use nginxas a front-end proxyand caching layer
  18. 18. At the PHP level:Use the latest version of PHPfor security and performanceTurn on PHP opcode cache,also called a PHP accelerator• APC (until PHP 5.5)• Zend Optimizer+ (PHP 5.5 and up)
  19. 19. Inside WordPress (Objects)Enable object caching in WordPress• stores objects in a key-value store likeAPC, Memcached, Redis, and WinCache– APC for one server, Memcached for multiple• avoids database queries• improves speed and performance• lowers memory consumption
  20. 20. Inside WordPress (DB)Have multiple database servers?Use HyperDB by Automattic.• splitting reads/writes• master/slave setups• DB failover• sharding• multiple databases• multiple datacenters (mind blown)
  21. 21. Inside WordPress (Debugging)• Use the Debug Bar pluginby the WordPress core team• Its like Firebug or the Web Inspector,but for WordPress• Inspect queries, cache hits, performance• Watch for errors and deprecated notices• General debugging• Look for issues with themes and plugins
  22. 22. Inside WordPress (Page Caching)• Temporarily Caching entire pages andserving those pages as fast as possible– nginx can do most of this for you• Batcache by Automattic(You may have also heard ofW3 Total Cache & WP Super Cache)
  23. 23. At the hardware level:(Solid-State Drives)SSDs
  24. 24. one server, 10,000 requests/sec864,000,000requests a day
  25. 25. • nacin@wordpress.org• Questions?

×