VMware Cloud Community
jvm2016
Hot Shot
Hot Shot
Jump to solution

q depth of iscsi adapter_powercli

Hello Luc,

I have been trying to find q  depth of iscsi adapter as per following .but value is blank here .

C:\Windows\system32> $esx_cli.system.module.parameters.list("iscsi_vmk")|?{$_.name -eq "iscsivmk_HostQDepth"}

Description                              Name                Type Value

-----------                              ----                ---- -----

Maximum Outstanding Commands Per Adapter iscsivmk_HostQDepth int      

i thought of increasing the q depth as esxtop has high value of 780 under CMDS/s under iscsi adapter.

1 Solution

Accepted Solutions
LucD
Leadership
Leadership
Jump to solution

Btw, the default value, which you don't see, is 128.

See also Adjust Maximum Queue Depth for Software iSCSI


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

View solution in original post

12 Replies
LucD
Leadership
Leadership
Jump to solution

I normally do this as follows

$qDepth = @{

    module = 'iscsi_vmk'

    parameterstring = 'iscsivmk_LunQDepth=256'

}

$esxcli = Get-EsxCli -VMHost MyEsx

$esxcli.system.module.parameters.list.Invoke('iscsi_vmk')

$esxcli.system.module.parameters.set.Invoke($qDepth)

$esxcli.system.module.parameters.list.Invoke('iscsi_vmk')


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

0 Kudos
jvm2016
Hot Shot
Hot Shot
Jump to solution

$qDepth = @{

    module = 'iscsi_vmk'

    #parameterstring = 'iscsivmk_LunQDepth=256'

}

$esxcli = Get-EsxCli -VMHost MyEsx

$esxcli.system.module.parameters.list.Invoke('iscsi_vmk')

#$esxcli.system.module.parameters.set.Invoke($qDepth)

#$esxcli.system.module.parameters.list.Invoke('iscsi_vmk')

i just want to check the value so i comment out above .is that ok to get value ??

0 Kudos
LucD
Leadership
Leadership
Jump to solution

Yes


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

0 Kudos
jvm2016
Hot Shot
Hot Shot
Jump to solution

not working as it is where i started Smiley Happy.

$qDepth = @{

    module = 'iscsi_vmk'

   

}

$esxcli = Get-EsxCli -VMHost "piassvmcl004.eu.thmulti.com"

$esxcli.system.module.parameters.list.Invoke('iscsi_vmk')

and output

pastedImage_0.png

0 Kudos
LucD
Leadership
Leadership
Jump to solution

Don't you have the Type and Value columns in the output?

qdepth.png


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

0 Kudos
jvm2016
Hot Shot
Hot Shot
Jump to solution

No,

i got following

pastedImage_0.png

0 Kudos
LucD
Leadership
Leadership
Jump to solution

You didn't do the set yet?

You should see the value after you call the line with set.
All parameters will show an empty value field until you set the parameter.


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

0 Kudos
LucD
Leadership
Leadership
Jump to solution

Btw, the default value, which you don't see, is 128.

See also Adjust Maximum Queue Depth for Software iSCSI


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

jvm2016
Hot Shot
Hot Shot
Jump to solution

Thanks luc .i can’t set this right now .but as you mentioned default is 128 though not displayed.

i m thinking if any thing needs to be changed from storage end also if make it to 256.

0 Kudos
LucD
Leadership
Leadership
Jump to solution

There are several other settings (MaxHWTransferSize,DSNRO ,DelayedAck, SATP rules...) you might want to review to optimise your storage for VvSphere.

But it would be best to look for the Best Practices for vSphere from your storage vendor.


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

0 Kudos
DavidGriswoldeB
Enthusiast
Enthusiast
Jump to solution

I know this is an old thread, but how do these commands change if I want to use ESXCLI v2? I cannot seem to find the correct syntax.

0 Kudos
LucD
Leadership
Leadership
Jump to solution

They don't, the code above has a typo, I forgot the V2 switch.

It should be

$qDepth = @{

   module = 'iscsi_vmk'

   parameterstring = 'iscsivmk_LunQDepth=256'

}


$esxcli = Get-EsxCli -VMHost MyEsx -V2

$esxcli.system.module.parameters.list.Invoke('iscsi_vmk')

$esxcli.system.module.parameters.set.Invoke($qDepth)

$esxcli.system.module.parameters.list.Invoke('iscsi_vmk')

For more info on this V2 switch, have a look at PowerCLI 6.3 R1: Get-ESXCLI Why the V2?


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

0 Kudos