Avg Disk Queue Length

  • Hi guys,

    I ran perf monitor and saw the number for PhysicalDisk:Avg Disk Queue Length is 2.93 during an one (1) hour period (interval is 15 seconds). This is for drive D on a 4 disk RAID5. Does this mean I have to divide 2.93 by 4 (number of disks) in order to have an accurate number for Avg Disk Queue Length? I saw a video training saying so but I am still not sure.

    Thanks

  • htt (5/9/2012)


    Hi guys,

    I ran perf monitor and saw the number for PhysicalDisk:Avg Disk Queue Length is 2.93 during an one (1) hour period (interval is 15 seconds). This is for drive D on a 4 disk RAID5. Does this mean I have to divide 2.93 by 4 (number of disks) in order to have an accurate number for Avg Disk Queue Length? I saw a video training saying so but I am still not sure.

    Thanks

    Look at Avg Disk sec/Read and Avg Disk sec/Write instead for latency, and look at Disk Read Bytes/sec and Disk Write Bytes/sec for throughput. Queue length is interesting, but if you're getting very low latency and very high throughput compared to your best case scenario, I would ignore it. In my SQLIO testing, I've noted that very low outstanding IOs tend to get lower performance out of arrays, whether local or on SANs.

    wmic /namespace:\\root\cimv2 path Win32_PerfFormattedData_PerfDisk_LogicalDisk get /all

    or

    wmic /node:"server" /namespace:\\root\cimv2 path Win32_PerfFormattedData_PerfDisk_LogicalDisk get /all

    will get you some information, but, unfortunately, not the critical Avg Disk sec/Read and Avg Disk Sec/Write, because Microsoft decided to round what should be tiny fractions of a second to a full Integer, rendering those fields worthless.

    I have yet to find direct information on getting those measurements from

    wmic /namespace:\\root\cimv2 path Win32_PerfRawData_PerfDisk_LogicalDisk get /all

    but for manual monitoring, Perfmon translates things just fine.

  • Ignore queue length. It's hard to interpret on anything more complex than a direct attached disk and SQL can and will intentionally drive the disk queue length high during normal operation.

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • I would not totally ignore the disk queue length since this is a local array. However a 15 second sample interval is way too long an interval - to diagnose real issues you'll have to get down to every second. The 15 second sample interval is almost an eternity.

    The 'old school' formula for raising the 'red flag' of concern is:

    # disks in the array * 2 is your warning threshold at a high level. so your 2.93 average is below the threshold for pain of 8.

    However the other information posted is valid as well. I would concentrate on actual read and write queue lengths for internal disk arrays.

    RegardsRudy KomacsarSenior Database Administrator"Ave Caesar! - Morituri te salutamus."

  • Here are the numbers from another performance log:

    Avg. Disk Queue Length: 7.47

    Current Disk Queue Length: 6.96

    Avg. Disk sec/Read: 0.02

    Avg. Disk sec/Write: 0.00

    Disk Read Bytes/sec:11,800,433.25

    Disk Write Bytes/sec: 7,661.90

    Thought?

    Thanks.

  • If those are indicative of the norm, I wouldn't worry at all.

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass

Viewing 6 posts - 1 through 5 (of 5 total)

You must be logged in to reply to this topic. Login to reply