Home > Storage > PowerStore > Virtualization and Cloud > Dell PowerStore: VMware vSphere Best Practices > Performance optimizations
While ESXi storage performance tuning is a complex topic, this section describes a few simple methods to proactively optimize performance.
Note: The VSI plug-in allows administrators to quickly set host best practices for optimal operation and performance.
While the recommended number of virtual machines per VMFS datastore is subjective, many factors determine the optimum number of VMs that can be placed on each datastore. Although most administrators only consider capacity, the number of concurrent I/Os being sent to the disk device is one of the most important factors in the overall performance. The ESXi host has many mechanisms to ensure fairness between virtual machines competing for datastore resources. However, the easiest way to control performance is by regulating how many virtual machines are placed on each datastore. The best way to determine if a datastore has too many virtual machines is by monitoring disk latency with either esxtop or PowerStore Manager. If the concurrent virtual machine I/O patterns are sending too much traffic to the datastore, the disk queues fill, and higher latency is generated.
To regulate and ensure fairness of I/O sent from VMs to each datastore, ESXi has an internal mechanism to control how many I/Os each virtual machine can send to the datastore at a time. This mechanism is Disk.SchedNumReqOutstanding (DSNRO). Although you can tune DSNRO for each datastore using esxcli, the best practice is to not modify this setting unless operating in a test environment or directed by support personnel.
Although there are small performance, data service, and troubleshooting benefits to placing a single virtual machine on a VMFS datastore, placing multiple virtual machines on each VMFS datastore is common practice. Typically, using vVols achieves the same or better performance benefits compared to placing a single VM on a datastore.
There are two disadvantages when placing a single VM on its own datastore: it reduces consolidation ratios and increases the management overhead of maintaining numerous items.