An excessive number of delta files in a chain (caused by an excessive number of snapshots) or large delta files may cause decreased virtual machine and host performance.
Snapshot generating creates many Delta file that are related to each other. Whenever you create a new snapshot, a new Delta VMDK has been generated that is linked to the original VMDK or parent snapshot. Most of times multiple Snapshot generation for many VMs cause disk I/O delay and performance issues.
Placing snapshots to another datastore is not always the suitable solution. It's highly depends on Type and IOPS of disk.Please mark my comment as the Correct Answer if this solution resolved your problem1 person found this helpful
1 person found this helpful
>>Can I say that there is a relationship between the presence of snapshots and VMFS performance degradation?
Yes, longer snapshot chains tend to increase IOPS demand on the storage system.
>>If so, how can I mitigate the problem?
You could try to increase the IOPS capacity of your storage system.
For example, you could try using NVMe drives/array with an NVMe controller, such as: MegaRAID 9460-16i, which would be a quick and easy way to create some high performance storage.
Another possibility is build something like a ZFS NAS which has the ability to cache into data in RAM (if you have enough) or SSDs (as a secondary cache if you don't have enough RAM). There are a lot of variables in creating a ZFS NAS, so you'd need to figure out where your IOPS bottlenecks are (read vs. write or both) and address them in various ways if you go down this route. If you have huge storage requirements, this might be a more economical option vs. using NVMe disks.
Alternatively, there are many "off-the-shelf" proprietary storage solutions which do tiering and caching. If money is no object, you could try something from EMC.
>>I see from forums that it is possibile to place snapshots on diffferent datastores: can it be a solution for my performance issues?
Yes, this is possible to do. If you are running out of IOPS on your current storage system while taking snapshots, doing this might help in offloading some IOPS to another storage device. Best to try with a test virtual machine and measure the results to see if doing this helps.
>>Which criteria should I consider while placing snapshots on different datastores?
You'll want to ensure that all datastores which will store any virtual machine data have equal levels of (high) reliability.
You may want to consider that spreading a vm's disks/snapshots across multiple storage devices might have a higher probability of failure for that particular VM, because if any of the storage devices fails, it will cause an outage on that VM.