Avatar of AXISHK
 asked on

Window Performance Counter

Track some Window counter for performance analysis.

For 8 disk running in RAID-5,

1. Should I set the counter threshold PhysicalDisk(1)\Avg. Disk Read Queue Length to 16 ( 8 x 2) or 14 (7 x 2) ?
2. Should I set the threshold for "PhysicalDisk(1:)\Disk Write/sec" + ""PhysicalDisk(1:)\Disk Read/sec" be 175 x 8 (or 7), assuming the IOPS for each disk is 175 IOPS.

Server HardwareWindows Server 2008

Avatar of undefined
Last Comment

8/22/2022 - Mon

Working this out on the recommendation that the queue should be two per physical disk - one being processed and one in the pipe...

1) Let's say you have 56 random reads to do, the first 7 would go to disks 1-7 since disk 8 is parity for that stripe. The next 7 go to disks 1-6 + 8 since 7 is parity for that stripe. The next 7 go to disks 1-5 + 7-8 since 6 is parity for that stripe and so on. For the whole 56 reads 7 will go to each disk in the array. All 8 disks are being read so the optimum queue length is 16.

2) for writes it's much worse, 4 physical I/Os per logical I/O so if we send just 4 random writes to the controller then 16 I/Os have to be done so the logical queue depth of 4 gives us a physical queue depth of 2 per disk.

The queue depth of two is only a rough rule of thumb though, the deeper the queue the more chance the controller has of coalescing multiple logical I/Os into single physical I/Os via clever caching.

can u explain more for #2, RAID-5 write scenario, why is there 4 physical I/Os per logical I/O ?

To clarify my understanding, 8 disks running in RAID-5,

 1. The counter threshold PhysicalDisk(1)\Avg. Disk Read (or Write) Queue Length should be 16.
 2. The IOPS threshold for "PhysicalDisk(1:)\Disk Write/sec" + ""PhysicalDisk(1:)\Disk Read/sec" should be 175 x 8 = 1400. assuming the IOPS for each disk is 175 IOPS.

A simple explanation of RAID 5 is that you have to read every disk in the array to work out what to write to the parity disk. That's not necessary if parity has already been generated because if you XOR the current parity with the old data and the new data the result is the same, therefore the controller reads the data disk that's about to be updated and it reads the parity disk that's about to be updated and then writes new data and parity.

The values you have are good starting points although it'll probably be necessary to relax them a bit or it may alert you all the time.
This is the best money I have ever spent. I cannot not tell you how many times these folks have saved my bacon. I learn so much from the contributors.

To clarify, Avg disk Read/Write Queue Length should be set as 2  * no. of physical diks ?

For 5 Disks in RAID 5, Avg. Disk Read Queue Length should start at 10 ( 2 * 5 disks)
For 2 Disk in RAID-1, Avg, Disk Read / Write Queue Length should start at 4 (2 * 2 disk)

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question