Friday, March 20, 2015

Performance Analysis vs. Capacity Planning

This question came up in a (members only) Linkedin discussion group:
Often found a misconception about these terms. I'm sure this must be written in a book, but for informal discussions is always preferable to cite sources from standardization institutes or IT industry referents.

Thanks in advance
Gian Piero

Here's how I answered it.
This is a very good question that few people ever ask, let alone try to answer correctly.

Don't quote me on this but, I view it as the difference between how long vs. how much. ;) Yes, that's intended to be somewhat ambiguous, because performance management and capacity management are rather ambiguous concepts, in that there's considerable overlap between them.

Most people who proffer an answer will tend to incorporate a lot of details that reflect their own history with the subject. In my classes, I try to boil it down to fundamentals that can then be elaborated on with the specifics related to your particular context.

  1. Performance analysis or performance management is fundamentally about time: how long does it take? (BTW, thruput is just an inverse-time metric.)
  2. Capacity planning or capacity management is fundamentally about size: how much resource is needed?
To make things a little more concrete, consider a freeway. The number of lanes (and length between ramps) represents capacity (bandwidth). The unstated assumption is that the freeway has enough capacity to allow the traffic to travel in the shortest time or near the speed limit (throughput), i.e., maximal performance. Of course, in California we know all about that ruse. At peak traffic hours the freeway often approximates a parking lot.

The point is that performance and capacity are intimately related: how much resource is available to achieve a specified performance goal or service level at a given load (like traffic)? The reason we consider any distinction at all is mostly one of perspective.

  • If you're coming at it from a capacity management standpoint, you're usually assessing/measuring capacity under a set of assumptions about performance (current or projected).

  • If you're coming at it from a performance management standpoint, you're assessing/measuring performance under a set of assumptions about capacity.
The other important point to stress is that the relationship between capacity and performance metrics is generally nonlinear, e.g., the relationship between response time and resource utilization (an oft used proxy for size) is nonlinear—although it can look linear at low loads. That's what makes the subject both interesting and difficult. And, as I say in the epigram to the 1st edition of my Perl::PDQ book: Common sense is the pitfall of all performance analysis.

To go back to the freeway example, the usual "solution" to the parking-lot effect is to simply add more capacity, in the form of more freeways, which we already know doesn't work because adding more freeways just creates more cars! Another unintuitive relationship. Mainframers call this unexpected capacity consumption latent demand.

Beyond that, it's all about trade-offs; including meeting budgetary constraints and so forth.

Doctor Gunther, it's hard not to quote your opinion if we consider that your book: Guerrilla Capacity Planing was one of the first that I read as an introduction to the topic of IT capacity planning.

I appreciate your clear explanation.


No comments: