Wait Time and Response Time

post date Tweet This
post comments No Comments

Confio has made a name for itself and developed thousands of dedicated users based on the concept of measuring database wait time.  The Igniter Suite and our web site is full of references to Wait Time analysis as the most important metric for optimizing database performance.  Keep the application users from waiting, and you have an effective database.

Recently visitors to our site have been asking about the difference between Wait Time and Response Time.  Is there a technical difference?   Or is it just different terminology, dependent on where you learned the concepts and which databases you are most familiar with.

In some parts of the US, if you want a Coca Cola, you ask for a “soda”. Other places everybody requests a “pop”. It’s all the same thing, it just depends what you were brought up with.   I think the same applies to Wait Time and Response Time analysis.

Confio has been using the definition:

Wait Time = Queue Time + Execution Time

Where Queue Time is the time spent waiting for a resource such as an IO, lock or latch, and Execution time is the actual time to process the request when the resource is free.

But potentially more understandable is:

Response Time = Processing Time + Wait Time

Where “Response Time” is what you care about – how long does the application have to wait between sending the request and getting the first response from the database.  Processing Time is the clock time spent actually fulfilling the request.  And Wait Time is the clock time spent by the session while it is queued up, waiting for a resource like a lock, latch, log file or the hundreds of other Wait Events or Wait Types.

Any comments? I’ll be Waiting for a Response.