Skip to main content
Is it possible to implement throttling at a per VM level?



The thoughts/scenario behind the question:

We have had on a couple occasions where we found a VM (different in each occasion) that was running away with storage controller IOPs. Of course the goal is to get the actual issue resolved for the offending VM, but we would like to be able to implement throttling to be able to assure other VMs in that cluster don't suffer when this does occur.



Disk I/O has been the scenario so far, but could also see the need to throttle CPU, memory, and/or NIC throughput at some point.
If you're referring to an AHV equivalent to resource pools and how you can control CPU/RAM shares, then unfortunately you're out of luck. I don't recall anything existing on the storage side limiting storage I/O either. That would definitely be a good feature request. For Async PD replications you can throttle bandwidth but I've seen it nowhere else.



Your best bet is to go into the OS and throttle the bytes per second for the specific application.



There are free tools and some third party you can buy to throttle applications at the application level.

Do so at your own risk. I would definitely test before throwing anything into a production workload to verify application stability.



https://www.google.com/amp/s/www.howtogeek.com/347711/how-to-limit-any-applications-bandwidth-on-windows/amp/
@ddubuque, Thank you for your response. We will move this to a feature request as well as work it up the chain with our account manager.