none
disk queue depth vs disk queue length RRS feed

  • Question

  • In performance monitor I can add counters for the disk queue length, but I keep hearing about something called disk queue depth around the internets and it sounds like it is the same thing.

    Is disk queue length just a pseudonym for disk queue depth?


    • Edited by red888 Friday, October 19, 2012 8:21 PM grammar fail
    Friday, October 19, 2012 8:13 PM

Answers

  • Disk Queue depth is a variable that modern drives use in calculating the elevator algorithm.  But it is also much more than that and it is derived from current disk activity and number of disks in your given scenario. 

    When a disk head reads or writes from/to a disk it can only move in one direction until it has serviced all the reads/writes (requests) it has in it's queue (disk queue length).  Once that queue's length is exhausted (read and written in that direction), it can move in the other direction.  Data that did not fall in sequentially from the location of the head when it was recieved, is queued up (disk queue length) until the head moves the other way (how far away is it and how long till we get there - disk queue depth)

    Depending on where the data is located on the disk (how far away from the current location of the head) and the direction that the head is moving in when the requests enter the queue, adds to the length of the queue and the could possibly add to the depth, if for example that data exists on disk in the opposite direction than the disk head is moving; because the head cant move back in the direction of the data until it has serviced the current queue.

    http://techbus.safaribooksonline.com/book/programming/microsoft-aspdotnet/9781430243380/chapter-10-infrastructure-and-operations/navpoint-124

    please see the paragraph that begins: "Although the technology is always evolving, I’ve found that SAS or SCSI drives work best in high-performance arrays. One reason is that their implementations of NCQ seem to be more effective when compared to those in SATA drives. NCQ can help minimize latency as the disk-queue depth increases" - Ultra-Fast ASP.NET 4.5 By: Richard Kiessig


    Stacy





    • Edited by Stacy Simpkins Sunday, October 21, 2012 4:41 PM additional info
    • Proposed as answer by Stacy Simpkins Sunday, October 21, 2012 4:47 PM
    • Marked as answer by 朱鸿文 Friday, October 26, 2012 2:03 AM
    Sunday, October 21, 2012 2:24 PM
  • Hello,

    The queue length is the number of pending i/o read write to the disk drive system. The depth is the number of drives needed to eliminate the disk queue length. You can increase performance and reduce bottlenecks (queue length) by adding more drives (depth).

    http://www.virtualinstruments.com/sanbestpractices/best-practices/finding-application-performance-bottlenecks-%E2%80%93-queue-depths/


    Miguel Fra | Falcon IT Services, Miami, FL
    www.falconitservices.com | www.falconits.com | Blog

    • Proposed as answer by Stacy Simpkins Sunday, October 21, 2012 4:49 PM
    • Marked as answer by 朱鸿文 Friday, October 26, 2012 2:03 AM
    Sunday, October 21, 2012 2:30 PM

All replies

  • Hi,

    I actually dont know about this pseudonym for this disk queue length.

    but i can explain you what both means by their owns.

    Disk queue length is used to determine the number of I/O requests queued for service, track Avg. Disk Queue Length for LogicalDisk.

    The queue depth is the amount of outstanding read and/or write requests waiting to access the hard drive.

    sounds quite same...

    Thank you,

    Mark as answer if its helpful


    Akshay Vithalkar (MCTS)Windows Server 2008 R2 Server Virtualization (MCTS)Windows Server 2008 R2 Network Infrastructure,Configuration (MCTS)Windows Server 2008 R2 Active Directory, Configuration (MCITP)Windows Server 2008 Server Administrator (MCSA)Windows Server 2008

    • Proposed as answer by Akshay V Saturday, October 20, 2012 7:07 AM
    Saturday, October 20, 2012 7:07 AM
  • Well helpful in the sense that you also agree they seem very similar, but still not a definitive answer. Is there anyone that can confirm, with confidence, that these are the same?

    From what I gather via googling "disk queue depth" is a term associated with unix based systems where as "disk queue length" is merely Windows parlance for the same thing. Is this correct?

    Sunday, October 21, 2012 1:54 PM
  • Disk Queue depth is a variable that modern drives use in calculating the elevator algorithm.  But it is also much more than that and it is derived from current disk activity and number of disks in your given scenario. 

    When a disk head reads or writes from/to a disk it can only move in one direction until it has serviced all the reads/writes (requests) it has in it's queue (disk queue length).  Once that queue's length is exhausted (read and written in that direction), it can move in the other direction.  Data that did not fall in sequentially from the location of the head when it was recieved, is queued up (disk queue length) until the head moves the other way (how far away is it and how long till we get there - disk queue depth)

    Depending on where the data is located on the disk (how far away from the current location of the head) and the direction that the head is moving in when the requests enter the queue, adds to the length of the queue and the could possibly add to the depth, if for example that data exists on disk in the opposite direction than the disk head is moving; because the head cant move back in the direction of the data until it has serviced the current queue.

    http://techbus.safaribooksonline.com/book/programming/microsoft-aspdotnet/9781430243380/chapter-10-infrastructure-and-operations/navpoint-124

    please see the paragraph that begins: "Although the technology is always evolving, I’ve found that SAS or SCSI drives work best in high-performance arrays. One reason is that their implementations of NCQ seem to be more effective when compared to those in SATA drives. NCQ can help minimize latency as the disk-queue depth increases" - Ultra-Fast ASP.NET 4.5 By: Richard Kiessig


    Stacy





    • Edited by Stacy Simpkins Sunday, October 21, 2012 4:41 PM additional info
    • Proposed as answer by Stacy Simpkins Sunday, October 21, 2012 4:47 PM
    • Marked as answer by 朱鸿文 Friday, October 26, 2012 2:03 AM
    Sunday, October 21, 2012 2:24 PM
  • Hello,

    The queue length is the number of pending i/o read write to the disk drive system. The depth is the number of drives needed to eliminate the disk queue length. You can increase performance and reduce bottlenecks (queue length) by adding more drives (depth).

    http://www.virtualinstruments.com/sanbestpractices/best-practices/finding-application-performance-bottlenecks-%E2%80%93-queue-depths/


    Miguel Fra | Falcon IT Services, Miami, FL
    www.falconitservices.com | www.falconits.com | Blog

    • Proposed as answer by Stacy Simpkins Sunday, October 21, 2012 4:49 PM
    • Marked as answer by 朱鸿文 Friday, October 26, 2012 2:03 AM
    Sunday, October 21, 2012 2:30 PM