troubleshooting Question

Increase DSNRO value on vsphere 6.0

Avatar of Bill Herde
Bill HerdeFlag for United States of America asked on
StoragevSphere
1 Comment1 Solution496 ViewsLast Modified:
I have a SQL2014 VM running on a dedicated vsphere host which is having disk latency issues.  The storage itself is very fast and continues to boast of sub-msec response times.  Vsphere reports 2 - 3 msec under heavy load, but Windows says it sees sometimes 100 - 200 msec latency.  I have increased queue depth for the PVSCSI adapters on the VM, ensured the volumes are distributed across multiple adapters, ensured storage is using 64k blocks from the array to windows. The last step would be to set the storage requests (DSNRO) on the volume to match the queue depth.  
I have found several blogs on writing a script to set all of a certain device type with a DSNRO to maximum, and several agree this is the command line to use.
esxcli storage core device set -O | --sched-num-req-outstanding value -d device_ID
However, running this with the appropriate value and ID returns

PowerCLI C:\> esxcli storage core device set -O | --sched-num-req-outstanding 128 -d eui.e0ddb0f8fa8184426c9ce90013
66043e
+ esxcli storage core device set -O | --sched-num-req-outstanding 128 - ...
+                                       ~
Missing expression after unary operator '--'.
At line:1 char:37
+ esxcli storage core device set -O | --sched-num-req-outstanding 128 - ...
+                                     ~~
Expressions are only allowed as the first element of a pipeline.
At line:1 char:39
+ ... xcli storage core device set -O | --sched-num-req-outstanding 128 -d  ...
+                                         ~~~~~~~~~~~~~~~~~~~~~~~~~
Unexpected token 'sched-num-req-outstanding' in expression or statement.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : MissingExpressionAfterOperator

If I run
esxcli.storage.core.device.list()

There is no value named "sched-num-req-outstanding" listed.  The value shows as NoofoutstandingIOswithcompetingworlds.

Looking through the 6.0 documentation I can confirm the sched-num-req-outstanding value is the one I am supposed to set to make the change I want, but I do not understand what is wrong with the command given.

This is an area I am only beginning to venture into, and need some guidance.
Yes, I am using a test bed to learn this.
ASKER CERTIFIED SOLUTION
Bill Herde
Owner

Our community of experts have been thoroughly vetted for their expertise and industry experience.

Join our community to see this answer!
Unlock 1 Answer and 1 Comment.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 1 Comment.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros