VMware Cloud Community
ganbidada
Contributor
Contributor

Guest os queue depth

Hi,

I am running iometer within a windows vm on 3.0.1 on vmdks and i find that the queue depth never goes beyond 8 so limiting the throughput.

Is there any way to tune the GOS queuedepths?.

Reply
0 Kudos
5 Replies
Krishna__
Contributor
Contributor

Do you have multiple VM's running on ESX server?

The maximum number of sequential IO's per VM and is goverened by "Disk.SchedQuantum" which defaults to 8. So after recieving 8 IO's from a vm it will try to switch and serve another VM.

Krishna

Reply
0 Kudos
ganbidada
Contributor
Contributor

I have a single VM with multiple vmdks in that vm and i am running iometer against all of the vmdks duirng which time i was seeing the queue depth issue.

So if i adjust that parameter..will it set things right?.

i will try that.

Reply
0 Kudos
wally
Enthusiast
Enthusiast

Within windows there seems to be a reghack to do this. Below is a snippet of the following document http://download.microsoft.com/download/2/8/0/2800a518-7ac6-4aac-bd85-74d2c52e1ec6/tuning.doc

NumberOfRequests[/b]

This parameter allows you to specify the number of SRBs created for a given adapter. This improves performance and allows Windows to give more disk requests to a logical disk, which is most useful for HW RAID adapters that have concurrency capabilities since each logical disk consists of multiple physical disks. However, the default setting is often less than optimal for many high-speed HW RAID disk arrays. Overall disk array performance can be improved by setting NumberOfRequests to a value in the range of 32 to 96 (decimal).

Set the following registry entry:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MINIPORT_ADAPTER\Parameters\DeviceN\NumberOfRequests (REG_DWORD)

Replace MINIPORT_ADAPTER with the specific adapter name. Make an entry for each device, and in each entry replace DeviceN with Device1, Device2, and so forth, depending on the number of devices you are adding. A reboot is required for this setting to take effect.

For example, for two Emulex LP9000 miniport adapters whose miniport driver name is lp6nds35, you would create the following registry entries set to 96:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\lp6nds35\Parameters\Device0\NumberOfRequests

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\lp6nds35\Parameters\Device1\NumberOfRequests

For your VM you'd have to use the name of the buslogic or lsi-logic driver ofcourse.

Reply
0 Kudos
ganbidada
Contributor
Contributor

I will check this and let you know how it goes.

I had zeroed out the files for other nfs tests so it will be a couple of days before i get back to the fcp tests and verify this.

thanks a bunch!!!!

Reply
0 Kudos
ganbidada
Contributor
Contributor

Ok, i retested this but i seem to have the same issue.

I think this is related to the disk.schedquantum as the first response suggested - the max value can go upto 64

I have 8 luns in the vm and whatever param i specify in IOmeter the queue never increases beyond 8 for each of the luns specifically so it means that the reqeusts are gettign limited to 64.

So if my vm has multiple luns , say, 20 or 30, is this not a limitation?.

Or am i missing something?

thanks!!

Reply
0 Kudos