High Performance WordPress Barry Abrahamson Matt  Mullenweg July 22, 2007 WordCamp 2007 – San Francisco, CA
The Problem <ul><li>Serve as many users as possible with a reasonable amount of resources </li></ul>
Un-tuned LAMP Stack <ul><li>Linux, Apache 2, PHP 4 or 5, MySQL 4.1 or 5.0 </li></ul><ul><li>8 requests/sec </li></ul><ul><...
Alternative PHP Cache (APC) <ul><li>http://pecl.php.net/package/APC </li></ul><ul><li>12 requests/second </li></ul><ul><li...
WP-Cache <ul><li>http://mnm.uib.es/gallir/wp-cache-2/ </li></ul><ul><li>300 requests/sec </li></ul><ul><li>25,920,000 page...
Apache Alternatives <ul><li>High concurrency </li></ul><ul><li>Majority (90%) of requests on a page are static </li></ul><...
PHP 5 – Just for fun <ul><li>Same as PHP 4 without APC </li></ul><ul><li>Same as PHP 4 with APC 3.0.14 </li></ul><ul><li>U...
When one isn’t enough <ul><li>Move the database to a second server (or 50) </li></ul><ul><li>HyperDB </li></ul><ul><li>Loa...
HyperDB
Load Balancing <ul><li>Hardware or software? </li></ul><ul><li>Pound </li></ul><ul><ul><li>http://www.apsis.ch/pound/ </li...
Caching <ul><li>Memcache </li></ul><ul><ul><li>http:// www.danga.com/memcached / </li></ul></ul><ul><li>Varnish </li></ul>...
WordPress.com <ul><li>Over 1.2 million blogs </li></ul><ul><li>10+ million pageviews/day (dynamic) </li></ul><ul><li>40+ m...
Questions
Upcoming SlideShare
Loading in...5
×

High Performance WordPress

26,387

Published on

High performance WordPress presentation from WordCamp 2007 by Barry Abrahamson and Matt Mullenweg

Published in: Technology
5 Comments
27 Likes
Statistics
Notes
No Downloads
Views
Total Views
26,387
On Slideshare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
535
Comments
5
Likes
27
Embeds 0
No embeds

No notes for slide

High Performance WordPress

  1. 1. High Performance WordPress Barry Abrahamson Matt Mullenweg July 22, 2007 WordCamp 2007 – San Francisco, CA
  2. 2. The Problem <ul><li>Serve as many users as possible with a reasonable amount of resources </li></ul>
  3. 3. Un-tuned LAMP Stack <ul><li>Linux, Apache 2, PHP 4 or 5, MySQL 4.1 or 5.0 </li></ul><ul><li>8 requests/sec </li></ul><ul><li>691,200 pageviews/day </li></ul><ul><li>Enough for > 99% WP installations </li></ul>
  4. 4. Alternative PHP Cache (APC) <ul><li>http://pecl.php.net/package/APC </li></ul><ul><li>12 requests/second </li></ul><ul><li>1,036,800 pageviews/day </li></ul><ul><li>50% performance increase </li></ul>
  5. 5. WP-Cache <ul><li>http://mnm.uib.es/gallir/wp-cache-2/ </li></ul><ul><li>300 requests/sec </li></ul><ul><li>25,920,000 pageviews/day </li></ul><ul><li>25x increase!!!!! </li></ul><ul><li>Possible gotcha </li></ul><ul><ul><li>http://markjaquith.wordpress.com/2006/02/13/adventures-with-wp-cache2-apc/ </li></ul></ul>
  6. 6. Apache Alternatives <ul><li>High concurrency </li></ul><ul><li>Majority (90%) of requests on a page are static </li></ul><ul><li>Litespeed, lighttpd, apache + fcgi, proxy </li></ul>
  7. 7. PHP 5 – Just for fun <ul><li>Same as PHP 4 without APC </li></ul><ul><li>Same as PHP 4 with APC 3.0.14 </li></ul><ul><li>Using APC from CVS, PHP5 is 15% faster than PHP4 </li></ul>
  8. 8. When one isn’t enough <ul><li>Move the database to a second server (or 50) </li></ul><ul><li>HyperDB </li></ul><ul><li>Load balancing </li></ul>
  9. 9. HyperDB
  10. 10. Load Balancing <ul><li>Hardware or software? </li></ul><ul><li>Pound </li></ul><ul><ul><li>http://www.apsis.ch/pound/ </li></ul></ul><ul><li>Thousands of requests/sec </li></ul><ul><li>Layer 7 </li></ul>
  11. 11. Caching <ul><li>Memcache </li></ul><ul><ul><li>http:// www.danga.com/memcached / </li></ul></ul><ul><li>Varnish </li></ul><ul><ul><li>http:// varnish.linpro.no </li></ul></ul><ul><li>WP-Cache alternatives </li></ul>
  12. 12. WordPress.com <ul><li>Over 1.2 million blogs </li></ul><ul><li>10+ million pageviews/day (dynamic) </li></ul><ul><li>40+ million hits/day (static + dynamic) </li></ul><ul><li>7,000+ database queries/second </li></ul><ul><li>80,000+ memcache calls/second </li></ul><ul><li>http://wordpress.com/stats/ </li></ul>
  13. 13. Questions
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×