Virtualization Performance

Virtualization Performance

MAXIMIZING SQL SERVER VIRTUALIZATION PERFORMANCE Maximizing Contents Maximizing Host CPU and Memory 2 Guest VM Configuration Guidelines 4 Using SSDs 6 Revving Up VMs with the SQL Server 2014 In- Virtualization Performance Memory OLTP Engine 8 Virtualization on the NEC Express5800 9 Predictable Network Performance with ProgrammableFlow 11 Summary 12 By Michael Otey Without a doubt, performance is the database professional’s number one concern when it comes to virtualizing Microsoft SQL Server. While virtualizing SQL Server is nothing new, even today there are some people who still think that SQL Server is too resource-intensive to virtualize. That’s definitely not the case. However, there are several tips and best practices that you need to follow to achieve optimum per- formance and availability for your virtual SQL Server instances. In this whitepaper, you’ll learn about the best practices, techniques, and server platform for virtualiz- ing SQL Server to obtain the maximum virtualized database performance. In the first part of this whitepaper, you’ll learn SPONSORED BY about some of the best practices for configur- ing your virtualization host’s central process- ing unit (CPU), memory, and storage. Next, you’ll learn about the best practices for config- uring a guest virtual machine (VM) to run SQL Server. You’ll see best practices for configur- ing virtual CPUs and using dynamic memory. You’ll also learn about using virtual hard disks (VHDs), configuring SQL Server VM storage, 1 MAXIMIZING SQL SERVER VIRTUALIZATION PERFORMANCE and using solid state disks (SSDs) with your SQL Server VMs. Then you’ll see how you can maximize SQL Server 2014 online transaction processing (OLTP) applica- tion performance by taking advantage of the new In-Memory OLTP feature. The second part of this whitepaper will cover some of the practical implementation details required to get the best performance for your SQL Server VMs. Although the specific configuration steps are vital, it’s equally important to select the right virtual- ization platform to provide the scalability and reliability that your organization needs to meet its service level agreements (SLAs). In this section, you’ll learn about using the NEC Express5800/A2000 Series Server as a virtualization platform. Here you’ll see how its Capacity OPTimization (COPT) feature and high random-access memory (RAM) capacity enable it to support dense virtualization workloads. Then you’ll see how NEC’s ProgrammableFlow Network Suite and PF1000 virtual switch integrate with Microsoft Hyper-V and Microsoft System Center Virtual Machine Manager (SCVMM) to provide predictable network bandwidth for your business-critical applications. As a general rule for the best performance in your tier 1 VMs, you should plan for a 1:1 ratio of virtual CPUs and physical cores in the system. Maximizing Host CPU and Memory Making sure the host is correctly configured is one of the most fundamental aspects for optimizing your virtualization environment. If your host lacks the processing power, RAM, or network bandwidth to run your VMs, you’ll never achieve the performance that you need for your tier 1 applications. First, the host has to be sized adequately to run the workloads of all of the VMs that will be simultaneously active. To plan for the proper host capacity, you should use Performance Monitor to create a performance baseline for the workload you intend to virtualize by measur- ing the peak and average CPU and memory utilization. This workload can be run- ning on a VM, or it can be a physical installation that you plan to migrate to a VM. Aggregating these values for all the different servers that you want to run on your virtualization host will tell you the base processing power and RAM that’s needed. As a general rule for the best performance in your tier 1 VMs, you should plan for 2 MAXIMIZING SQL SERVER VIRTUALIZATION PERFORMANCE a 1:1 ratio of virtual CPUs and physical cores in the system. While nothing pre- vents you from overcommitting the CPUs for either Hyper-V or VMware vSphere, matching you physical cores to your virtual CPUs will ensure that you always have computing power for that workload. When you’re planning the number of virtual CPUs to use in the guest, be sure to remember that the maximum number of virtual CPUs supported can vary depending on the guest OS. Both Windows Server 2012 R2 Hyper-V and vSphere 5.5 provide support for hosts with up to 320 cores and VMs with up to 64 virtual CPUs. Next, while you’re planning your host’s computing resources, you should make sure that the host supports Second Level Address Translation (SLAT) and Non-Uni- form Memory Access (NUMA). Most modern servers from tier 1 vendors provide these features, but they might not be present if you’re considering using an older hardware platform for virtualization. Both are very important for VM scalability. SLAT has different names, depending on the CPU manufacturer. Intel’s version is The host memory is the next most important consideration after the host’s CPU support. called Extended Page Tables (EPT) and AMD calls it Rapid Virtualization Indexing (RVI). SLAT allows the processor to directly handle the translation of guest virtual addresses to host physical addresses without the need for the hypervisor to keep track of a shadow page table, thereby reducing the load on the hypervisor for every guest VM. NUMA support allows NUMA-aware applications like SQL Server to opti- mize threads in high-speed memory that’s owned (should this be owned?) by a local processor. The latest version of Windows Server 2012 R2 Hyper-V and vSphere 5.5 both provide NUMA support for guest VMs. The host memory is the next most important consideration after the host’s CPU support. First, make sure that you don’t allocate all the available host physical RAM to the VM. Plan to keep about 1GB of memory reserved for the host to manage the running VMs. To prepare for future scalability requirements, it’s a best practice to select a host system that supports hot-add RAM. RAM is typically the limiting factor 3 MAXIMIZING SQL SERVER VIRTUALIZATION PERFORMANCE to how many VMs you can run simultaneously, and hot-add RAM enables you to upgrade the host without incurring any downtime. Windows Server 2012/R2 sup- ports hot-add RAM but you should be aware that hot-add RAM is not supported in every server hardware platform. You should be sure to look for this capability when evaluating virtualization server platforms. Making sure that there’s adequate network bandwidth for your production work- loads is the next critical step in the virtualization’s host configuration. Trying to funnel all the network traffic for your VMs through too few host network interface cards (NICs) is a common virtualization configuration mistake. You can use Perfor- mance Monitor to get an idea of your aggregated network bandwidth requirements just like you did to estimate the host’s CPU and memory requirements. In addition, you should plan for one dedicated NIC for management purposes as well as one dedicated NIC for live migration or vMotion. This will help to separate the network traffic required by these management tasks from your production workloads. Finally, you should plan for the host’s OS to be installed on a separate storage location from the guest VHDs or virtual machine disks (VMDKs). More details about guest VM storage is presented in the following section. In addition, if you’re running anti-virus (AV) software on the host, be sure to exclude the VMs from AV scanning. AV scans will impact the performance of the VM, which is something that you want to avoid for your tier 1 applications. Any AV scanning should occur within the VM guest. One of the most important guest configuration guidelines is to be sure to provide enough memory for the guest. Guest VM Configuration Guidelines One of the most important guest configuration guidelines is to be sure to provide enough memory for the guest. This is especially true if the guest is running a database application like SQL Server or Microsoft SharePoint. As a general rule of thumb, the more memory you can give SQL Server VMs the better—up to a point. The actual requirements depend on the application and workload. One best 4 MAXIMIZING SQL SERVER VIRTUALIZATION PERFORMANCE practice is to take advantage of the hypervisor’s ability to support dynamic memory. Both Hyper-V and vSphere can take advantage of dynamic memory. Microsoft fully supports running SQL Server with dynamic memory to increase server consolida- tion ratios and increase database performance. One best performance practice with dynamic memory is to avoid setting a maximum ceiling and to let the VM expand the memory if the VM experiences memory pressure. When you create a guest VM, you have three basic choices for VHD types. When you create a guest VM, you have three basic choices for VHD types. Microsoft and VMware each have slightly different names for these different VHD formats, but they’re essentially the same: fixed virtual disks, dynamic disks, and differenc- ing disks. Fixed virtual disks provide the best performance, but they also require the most disk storage. Fixed virtual disks provide almost the same performance as native Direct Attached Storage (DAS). Dynamic disks are slightly slower and require much less storage than fixed virtual disks. However, the hypervisor will expand dynamic disks when they need more stor- age, and the execution of the VM is paused during this process. You would typically use fixed virtual disks to avoid this situation for business-critical SQL Server instances.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    12 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us