What is the best way to limit the IO a VM can generate to a shared nfs datastore?
We have been setting limits on the number of IOPs per vmdk at the vSphere layer (sched.scsiX:X.throughputCap in the vmx), but this doesn't take into account the problem where a VM can generate high IO throughput with a smaller number of large block size IOPs.
I found mention on the web of an advanced option to limit IO based on throughput bandwidth (sched.scsiX:X.bandwidthCap) instead of the number of IOPs. I have not seen this option described in the documentation.
I have played around with setting sched.scsiX:X.bandwidthCap in config.extraConfig using the perl API and this seems to work. Is using bandwidthCap instead of throughputCap a supported configuration? Is there a downside to limiting IO in this way?