Tuesday, 2 of September of 2014

Art Of Capacity Plannning

The Art of Capacity Planing, by John Allspaw, is a fast, interesting read. It goes over the expected topics and supplies many links to specific useful resources.

The book talk about all the different things that should be measured. This includes low level operations (e.g., disk read/writes), mid-level operations (Apache or database operations) and high/application level operations.  All must be measured so you fully understand the system.  With this data you can identify potential bottlenecks and understand trends.

The book uses data from Flickr avoid exclusively dealing with abstract issues.  For example, Flickr disk drive usage increases at the rate of 1% per month.

Many web sites are limited by the performance of their database servers.  Depending on the site, the issue could be CPU, network or disk I/O.  The book describes the open-source tools needed to determine which issue is the limiting factor on any given site.

Understanding usage trends is important not just for customer satisfaction but also to avoid buying hardware early.  Buying capacity before it is really needed just means you’ll pay more to get something less capable.

The book has a chapter on deployment.  It reviews what tools to use (e.g., PXE, iClassify and Puppet) to centrally control a large number of servers.

Most surprisingly, the book describes approaches to test load on production servers with production data (httpref, JoeDog’s Siege).  The author doesn’t like relying on artificially generated data and test hardware to understand system performance.