WordsOnTech

SQL Server Performance tuning approach – deduce information from wait statistics data

In our last post, we started a journey for SQL Server DBAs so that they can establish an approach for performance tuning issue. We went through some of the basic wait types are and shared links for downloading queries to gather those.

Now that you have gathered total wait statistics from a SQL Server instance, it is time to understand what they are trying to tell us.

Below are few of the examples of wait statistics gathered from some SQL instances. Let’s look into them and try to make that data into useful information.

Example 1 –

Here top wait is CXPACKET which is consuming 76% of total waits. Other wait types are contributing to rest of the waits.

What information can be deduced from this:

Key take away and pointer to next phase of troubleshooting:

We will talk about indexes more in later posts.

Example 2 –

In this case, highest wait type is BACKUPIO (~31%) followed by BACKUPBUFFER(~12%) and ASYNC_IO_COMPLETION (~11%).

Key take away and pointer to next phase of troubleshooting:

Here in both cases, we found that individual wait type may not describe the underlying issue. You may have to read all the waits and deduce what they are pointing us towards.

There is a story in these wait statistics and we as a DBA must be able to summarize that. As a golden rule, more you will work on these, better your understanding will become.

Do share what wait statistics you are getting in your environment and share us in the comment section. We will do best to summarize those in a meaningful way so that you can optimize performance in your environment.

Exit mobile version