

Separating files that have different access patterns will help streamline I/O and optimize performance. Transaction log access is sequential, and sequential data is more efficient than random data access.

Accessing SQL data files is random, for the most part. SQL Server accesses data and log files with very different I/O patterns. Try to keep the hypervisor as up-to-date as possible, as each new iteration comes with new maximums enabling scalability.Ī good rule of thumb for initial sizing of a SQL server is to ensure the total number of vCPUs assigned to the virtual machine does not exceed the number of physical CPU sockets (as opposed to the logical cores) available on the host. If the host is overcommitted and has resource heavy applications like SQL running on virtual machines on that host, performance issues are inevitable.

If, for whatever reason, this mapping cannot be maintained then the hypervisor has to do the work which will affect performance. So what is SLAT? It enables the CPU to maintain the mapping between virtual memory used by virtual machines and the physical memory on the host. When referencing AMD processors, SLAT = Nexted Page Tables or Rapid Virtualization Indexing. When referencing Intel processors, SLAT = Extended Page Tables. Most 64-bit processors support this technology. It’s necessary that the host supports Second Level Address Transaltion. This needs to be done both in the BIOS and from within the vSphere Client to take effect. ESXi Host Considerations Power ManagementĪ good rule of thumb is to set Power Management to High Performance on the ESXi host. In Part 1, we’ll dive into some of the more common settings and configurations that are done in a virtualized SQL environment.

Please make sure that you research all of the configurations for your specific deployment requirements, rather than take everything I say and dump it in to your shiny new Microsoft SQL environment. For the most part, what you’re about to read is a brain dump, and is intended to serve as an outline. I realized recently that I never documented my process for designing high-performance Microsoft SQL environments on VMware vSphere. Part 2: SQL Server on VMware vSphere Best Practices: Availability Group, Licensing and Other Considerations Part 1: SQL Server on VMware vSphere Best Practices: Host, Disk, CPU and Memory Considerations
