sp_BlitzFirst - Wait Stats Interpretation I have some BlitzFirst Wait Stats that look as follows:


Is this the proper way to interpret this? During the 30 second sample, there were a total of 627.1 seconds of IO_Completion waiting, an average of .5 waits per core per second and a total of 20,723 of these waits, each averaging 30.3 MS?

Also, I am not using the Since Startup option.
So let's do a quick rundown of your top two waits:


IO_COMPLETION - waiting to write to storage
PAGEIOLATCH* - waiting to read from storage


In 30 seconds, your queries spent 1,655 seconds waiting on storage.

Your storage is probably slow - if you skip down to the next section in sp_BlitzFirst's output, it will show which data and log files SQL Server was waiting on, and for how long. However, before you leap to playing Pin The Blame On The SAN Administrator, consider:


Tuning indexes &amp; queries to reduce the amount of data read from disk (I'd suggest using sp_BlitzIndex and sp_BlitzCache for that, although I'm biased (disclaimer: I'm one of the coauthors))
Adding memory to cache data, which will reduce PAGEIOLATCH, thereby easing pressure on the storage, and will likely reduce the IO_COMPLETION waits too
Spending a whole lot of money on storage (you might guess that the above two fixes are above this one for a reason)