Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I understand that the disk queue should ideally be under the total number of disks within the system. How does this apply to RAID arrays?

Raid 0 I assume would be ideal queue = # of disks, RAID 10 / 1 = # of disks / 2, what about RAID 5, is it # of disks - 1?

What is happening exactly when the disk queue length exceeds this value, this is the number of writes waiting to be applied to the disks so why is any value above 0 OK?

share|improve this question
up vote 1 down vote accepted

According to this page I/O wait is more important than the queue length.

share|improve this answer
I'm going to call you out on the link. The article is talking about the IO characteristics of SQL Server 2005. A direct quote from the article: "A statement was published many years ago that sustained disk queue length greater than 2 is an indication of an I/O bottleneck. This statement is still true if the application is not designed to handle the situation. SQL Server is designed to push disk queue lengths above 2 when it is appropriate." The poster didn't cite any specific application, so I'd assume the general case, rather than the special. – Evan Anderson Jul 9 '09 at 6:04
True the article was focused on SQL Server but looking at the queue length alone is not enough information to come to the conclusion that you have an I/O problem. Looking at I/O wait along with queue length is a much better metric to determine if you have an I/O bottle neck. – 3dinfluence Jul 9 '09 at 15:06

Everything that I've seen (don't have any links handy) says no more than 2 IOs in queue per disk which is servicing the data.

When IOs are in queue the command to read or write that IO is waiting for the platter to be moved into the correct position so that the block of data can be read or written.

share|improve this answer
Is this per disk or per volume, as pertains to a hardware disk array? I ask because we have a 3 disk RAID 5 (PERC hardware) and am trying to track performance issues on a Dell server. I see it's supposed to be 2 per disk, but that means that we should keep the queue under 6, or under 2 because it's one volume? – Bart Silverstrim Mar 1 '10 at 13:17
It's per active spindle. So for your 3 disk RAID 5, 6 would be the beginning of bad. For a 4 disk RAID 10 array 4 would be the limit. – mrdenny Mar 5 '10 at 12:49

Just be aware that in this context the term disks means disk spindles in use, not logical disks. If you have a 3 drive RAID array that's 3 spindles, no matter what the RAID level.

share|improve this answer
Guess that answers my comment to mrdenny, then, huh? :-) Took the tim to search through SF but not the time to read all the replies. I guess our read/write queue lengths need to be kept under 6 then. – Bart Silverstrim Mar 1 '10 at 13:18

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.