Array Setup and Networking
1752794 Members
6623 Online
108789 Solutions
New Discussion

Re: Importance of path change settings in VMware

 
aherbert23
Trusted Contributor

Re: Importance of path change settings in VMware

I would be interested in seeing the results of the tests. When I tried using low IOPS per path numbers I saw small block random performance degrade. I did not try setting IOPS per path to 0. I didn't even know that would be a valid input!

Not applicable

Re: Importance of path change settings in VMware

These settings apply/benefit 10Gb?

Thanks

-Craig

wen35
Trusted Contributor

Re: Importance of path change settings in VMware

Yes, definitely.  Assuming you have dual 10G bind to the iSCSI initiatior, PSP_RR will leverage both paths without having to wait for a given path to reach X IOPS or X bytes before the switch.

epedersen22
Occasional Advisor

Re: Importance of path change settings in VMware

Is this (or iops=0/bytes=0) going to end up in the Nimble VMware installation guide?

wen35
Trusted Contributor

Re: Importance of path change settings in VMware

it is making its way to the next edition of the vsphere on Nimble best practices guide - the same will go into the next edition of the vmware integration guide as well.

epedersen22
Occasional Advisor

Re: Importance of path change settings in VMware

Cool - thanks!

Not applicable

Re: Importance of path change settings in VMware

Made the change.  My SQLIO test throughput on 10G on Reads went from ~470 MB/s to ~715 MB/s.  Have a CS240G.  NICE!

-Craig

wen35
Trusted Contributor

Re: Importance of path change settings in VMware

wow nice to hear Craig!

epedersen22
Occasional Advisor

Re: Importance of path change settings in VMware

I may be wrong, but when making the change to --iops=0 & --bytes=0, it looks like you have to set '--type' to 'iops'.  I tried it using '--type=bytes' as written in the script above, but the iops limit didn't change.

Result when run with --type=bytes:

   Device: eui.xxx

   IOOperation Limit: 1000

   Limit Type: Bytes

   Use Active Unoptimized Paths: false

   Byte Limit: 0

After, when run with --type=iops:

   Device: eui.xxx

   IOOperation Limit: 0

   Limit Type: Bytes

   Use Active Unoptimized Paths: false

   Byte Limit: 0

From the help text:

  -t|--type=<str>    

     Set the type of the Round Robin path switching that should be enabled for this device.

     Valid values for type are:   

          bytes:      Set the trigger for path switching based on the number of bytes sent down a path.

          default:     Set the trigger for path switching back to default values.  

          iops:      Set the trigger for path switching based on the number of I/O operations on a path.

Cheers,

Eric

mallocarray12
Occasional Advisor

Re: Importance of path change settings in VMware

I just ran the command twice, one to set bytes, and then one to set IOPS.  Since there is a Limit Type, I'm not sure if it matters if you changed bytes to 0 if the Limit Type is set to Iops.

My notes from another post:

In the SSH console on ESXi 5.1, this command will loop through each datastore setting Bytes to 0, IOPS to 0 and then display the current settings. For some reason, when listing disks, they show up twice, once with their regular ID and a second time with the ID ending in :1 and the settings can't be applied.

for i in `ls /vmfs/devices/disks/ | grep eui.` ; do echo $i ; esxcli storage nmp psp roundrobin deviceconfig set -d $i -t bytes -B 0; esxcli storage nmp psp roundrobin deviceconfig set -d $i -t iops -I 0 ;esxcli storage nmp psp roundrobin deviceconfig get -d $i; done

If you want it set back to defaults how it came out of the box, this will reset Bytes to 10485760, IOPS to 1000,  and Type to default

for i in `ls /vmfs/devices/disks/ | grep eui.` ; do echo $i ; esxcli storage nmp psp roundrobin deviceconfig set -d $i -t bytes -B 10485760; esxcli storage nmp psp roundrobin deviceconfig set -d $i -t iops -I 1000 ; esxcli storage nmp psp roundrobin deviceconfig set -d $i -t default; esxcli storage nmp psp roundrobin deviceconfig get -d $i; done