I have a few datastores on my ESXi server, as seen below. I am moving files from one datastore to another. It is just taking too long. I have done io testing on the hard disks, and I know they can perform much better than this.
What really is going on?
Why is it so slow?
What can I do to speed this up?
I never got any official confirmation for this, but I believe the I/O is capped (or at least de-prioritized) for datastore copy/move operations from the GUI as I have seen rather similar behaviour in different ESXi environments on from version 3.5. That being said, the actual performance numbers do scale with your storage backend's capabilities.
You might be getting higher transfer rates when using "dd" from within the ESXi SSH shell (available after activating the remote Tech Support Mode) instead of the GUI copy mechanisms. Example:
Also, check if you have enabled write caching with your RAID controller. ESXi storage operations involve a lot of syncs - if your controller does not have the write cache enabled you will see a serious performance hit for storage I/O. Note that a write cache should be backed by a battery or persistent storage (flash) to be transaction-safe.