Scaling Drupal: Not IF..HOW when scaling is a concern heavy page views logged in users before live enable slow query log in mysql (my.cnf) mysqldumpslow - generates summary of slow query log file typicsl problmes poor/missing index data locking large result set slow, complicated query run identified queries using Explain load test simulate traffic populate db with test data how hp load runner openload jmeter - free from apache; java based; foxyproxy plugin for firefox; script use patterns on your site test with devel module caching types of caching engines standard drupal cache part of core relies on database for storage apc drupal cache + memory faster than memcached limited to single server; cache not shared across server memcache multi-server cache; network based a little slower than apc because it's network based limited control over when/how things disappear from cache static page cache/boost module drupal flexibility + performance of static files generally works only with anonymous users page cache full page generally only usefule for anon users block cache core in D6 works with anon and registed users can set expiration and scope hard to explicitly expire cache programmatic cache static variable cache used by core within single request of single user programmatic data cache easily added to custom modules/themes explicitly using cache tables requires programmer knowledge of when to cache can become a problem of concurrency/timeliness ongoing monitoring tools cacti free monitor various aspects like cpu, load, mem use, db activity trend visualization community add-ons mysql enterprise manager gomez additional measures db scaling slave servers core does not really support horizontal scaling, but will in D7 storage engine optimization hardware load balancers front-end techniques use Yslow! to get score on front-end speed; free firebug extension shows potential optimizations js aggregation/compression aggregation supported as of D6 in core, module in D5 aggregation just puts them all into one file, reducing requests minification not safe in PHP java shrinkers: dojo shrinksafe, minifier css aggregation apache tweaks set apache to gzip on server move .htaccess into http.config cdn content distribution network load static assets from several locations around world relatively cheap speeds up your server a little but user experience significantly offerers simplecdn some don't support https access