Upload
govloop
View
111
Download
5
Tags:
Embed Size (px)
DESCRIPTION
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.
Citation preview
A Crash Course inScaling WordPress
A Crash Course inScaling WordPress
or: let me at leastshow you what is possible
(in 8 minutes)
A Crash Course inScaling WordPress
or: let me at leastshow you what is possible
(in 8 minutes)
A Crash Course inScaling WordPress
or: let me at leastshow you what is possible
(in 8 minutes)[and then I'll take questions]
• Andrew Nacin• Lead Developer for WordPress• Washington, D.C.
• Work for WP founder Matt Mullenweg(Don't work for Automattic or WP.com)
• Full time on WordPress (the project)and WordPress.org (the site)
WordPress can scale
(no, really!)
WordPress can scale
(and it's easy!)
nginx
nginx
nginx
nginx
nginx
nginx(with PHP-FPM)
• nginx is a web server (like Apache or IIS)• nginx is better• nginx is so much better it isn't even funny
• Well-tuned Apache can serve a few hundred requests a second
• nginx can serve 10,000 requests/sec and up
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)
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
If you can't switch out Apache(because reasons)
Try to still still use nginxas a front-end proxy
and caching layer
At the PHP level:
Use the latest version of PHPfor security and performance
Turn on PHP opcode cache,also called a PHP accelerator
• APC (until PHP 5.5)• Zend Optimizer+ (PHP 5.5 and up)
Inside WordPress (Objects)
Enable object caching in WordPress• stores objects in a key-value store like
APC, Memcached, Redis, and WinCache– APC for one server, Memcached for multiple
• avoids database queries• improves speed and performance• lowers memory consumption
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)
Inside WordPress (Debugging)
• Use the Debug Bar pluginby the WordPress core team
• It's 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
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 of W3 Total Cache & WP Super Cache)
At the hardware level:
(Solid-State Drives)SSDs
one server, 10,000 requests/sec
864,000,000requests a day
• Questions?