It must be realized that response time problems does not solve themselves.
It may occur that problems disappear temporarily – just to reappear when the “right” circumstances return.
Therefore it must be accepted that one or more changes are needed to solve the problems.
The challenge is to identify the changes needed.
This can be addressed in several ways – and some may be better approaches that others.
Problems with response times can have many causes and it may seem overwelming where to begin. (see note on “Large Organisations” below).
A particular problem often arises, when the operational responsibility is distributed over more separate departments – like network, storage, server and application.
In this type of organisation it is a reoccuring experience that attempts to solve problems with response time more or less degrades into a disjunct set of analyses each focusing on verifying whether a particular area has issues (examining ping times, disk queues, run queue length etc.) with no focus on the experienced response time for the user.
This is more or less to be expected as a result of the usual rather narrow definition of area of responsibility associated with this type of distributed responsibility.
Unfortunately such an approach does not really support finding the root cause(s) of a response time problem.
Particulary in this situation it can be beneficial with an “external view” on the problems.
My approach to address response time problems and problems with high resource consumption is in broad steps first to gather data – either already existing data or by measuring while reproducing the problem.
Then analyse the data and determine the most appropriate action to take.
The fundamental princip for the analysis is to “follow the time”.
This is based on the claim that (too long) response times are caused by spending too much time.
It therefore seems reasonable that the analysis of response time should focus on identifying and quantifying where the time is spend.
With this knowlegde it is rather straightforward to determine and prioritize the actions to take.