- About Us
- IT Services
- Consulting Services
- Cyber Security
- Cloud Services
- Our Clients
- Contact Us
Yes! SQL Server can run very well on a virtual machine (VM) but SQL is still resource-intensive. Many companies turn to IT service providers for insight into their particular environment. If you do decide to virtualize your SQL environment, it’s important to implement best practices. Not adhering to best practices can compromise the performance of your virtual SQL Server. It’s usually worth the effort since virtualization can improve your organizations ROI through consolidating servers, eliminating the need for new hardware for each application, and increasing availability.
A well-planned virtualization engagement consolidates SQL servers to minimize the number of required SQL licenses, which can save a significant amount of money.
The main impetus behind SQL Server virtualization is the ability of internal or third-party IT resources to scale up quickly to accommodate new team members and applications. Virtualized infrastructures while simultaneously reducing hardware costs. Additionally, a well-planned virtualization initiative can consolidate SQL servers and reduce the number of required SQL licenses.
SQL Server should not have to contend for resources alongside other VMs, so make sure the host’s CPU resources aren’t overallocated. Significant wait time for CPU may cause latency issues that impact all applications on the SQL Server. If the vCPUs allocated to the VMs are too high, users experience a high CPU Wait Time Per Dispatch or CPU Ready status.
For SQL Server VMs with multiple Non-Uniform Memory Architecture (NUMA) nodes, be sure to enable virtual NUMA. Evenly distribute CPU and Memory assignments among your physical NUMA nodes. When virtual NUMA is disabled, you can configure VMs with vCPU resources and additional memory within the NUMA node. Many practitioners have better performance on multiple SQL VMs within a NUMA node. Performance suffers on larger SQL VMs across NUMA nodes that have disabled virtual NUMA.
Here are more CPU best practices for SQL virtualization:
Do not overcommit memory on hosts running SQL VMs
Use capacity planning to determine how much memory is in use and adjust VM memory allocations based on workload.
In VMware, memory reservations can ensure that a SQL VM has a fixed amount of memory when it powers on. Reservations are not required to ensure minimum memory use in Hyper-V.
There are three main considerations for optimizing disk performance: SSD vs. HD, load balancing and redundancy.
Paravirtualized network adapters such as VMXNET3 deliver better performance than emulated adapters. Jumbo frames that transfer 9,000-byte data packets perform better than standard 1,500-byte Ethernet frames. Enable jumbo frames on storage traffic channels like iSCSI or VM migrations. Use fewer large data transmissions to enhance network performance and reduce CPU load; replicate optimal settings between endpoints.