Nothing ground-breaking in this post – just jotting down some notes. An excellent deep technical explanation can be found here: Storage I/O Control Technical Overview and Considerations for Deployment.
But if you’re satisfied with peanuts (which is all I gots), keep on reading.
What is Storage I/O control?
When you enable Storage I/O Control, ESXi monitors datastore latency and adjusts the I/O load sent to it, if datastore average latency exceeds the threshold. The sole purpose is to prevent any single VM from monopolizing a datastore. This feature is not enabled by default – but it’s a good idea to get around to understanding and enabling it.
What is new regarding SOIC in 5.0? Storage I/O Control NFS support!
vSphere 5.0 extends Storage I/O Control to provide cluster-wide I/O shares and limits for NFS datastores.
To Enable Storage I/O Control
|1||In the vSphere Client inventory, select a datastore and click the Configuration tab.|
|3||Under Storage I/O Control, select the Enabled check box.|
On the Datastores tab, the Storage I/O Control column shows that Storage I/O Control is enabled for the datastore.
Setting the Congestion Threshold Value for Storage I/O Control
The congestion threshold value for a datastore is the upper limit of latency that is allowed for a datastore before Storage I/O Control begins to assign importance to the virtual machine workloads according to their shares.
You do not need to adjust the congestion threshold setting in most environments. Do not make any changes to these settings unless you are working with the VMware support team or otherwise have thorough information about the values to provide for the settings
A higher value typically results in higher aggregate throughput and weaker isolation. Throttling will not occur unless the overall average latency is higher than the threshold
If throughput is more critical than latency, do not set the value too low. For example, for Fibre Channel disks, a value below 20 ms could lower peak disk throughput. On the other hand, a very high value (above 50 ms) might allow very high latency without any significant gain in overall throughput.
A lower value will result in lower device latency and stronger virtual machine I/O performance isolation. Stronger isolation means that the shares controls are enforced more often. Lower device latency translates into lower I/O latency for the virtual machines with the highest shares, at the cost of higher I/O latency experienced by the virtual machines with fewer shares.
If latency is more important, a very low value (lower than 20 ms) will result in lower device latency and better isolation among IOs at the cost of a decrease in aggregate datastore throughput.
Select a datastore in the vSphere Client inventory and click the Configuration tab.
Under Storage I/O Control, select the Enabled check box.
Click Advanced to edit the congestion threshold value for the datastore.
The value must be between 10 and 100. You can click Reset to restore the congestion threshold setting to the default value (30 ms).