This complexity is why I consider performance to be one of my Main Tenants of Support, as typically the amount of performance can be boiled down to this simple formula:
Actual system performance capacity = User expectations - lack of development performance planning + amount of DBA hands on assistance + framework for performance measurement
So. What can we do about this? Obviously for somebody in the production support team the only piece you usually can directly affect is your user expectations, while getting outputs from the framework you have to measure your system performance, but this only goes so far. Performance needs to be an institutional truism that gets baked into your system to address the other 3 parts of the equation:
- Developers need to understand how both the system and users operate in order to effectively design and produce results.
- DBAs should be understanding that reactively doing something like reading through the DB log after "something happens" is far too late in the game.
- Support has to make sure they participate in the feedback loop about what the system (or users) are doing and fight to get their hands on a performance framework, or create their own measurement system.
Why should we care about performance? Nobody should want your system to operate below maximum, right? So why do we allow it to happen on a daily basis?!? I'll tell you, listening to a presentation from Cary Millsap about being able to measure everything your system is doing makes SO much sense sitting there; yet being able to implement a new system, or break out of your norms, all on your own is pretty much impossible. Performance is a grassroots revolution which we all need to enroll in.
No comments:
Post a Comment