See how Microsoft Consulting Services can help you
Contact Microsoft Services
Contact The SharePoint Guys
Apply for a job at Microsoft Consulting Services
MCS Solution Dev
The Deployment Guys
MSDN UK
MSDN UK Newsletter
MSDN UK Team Blog
TechNet UK
TechNet UK Newsletter
TechNet UK Blog
There are differences between physical hardware and the virtual implementation of hardware that host your SharePoint farm. Many of these differences are subtle and not obvious. This topic will highlight some of the important differences and explain how that impacts your virtual machine design and how to optimize the performance of your virtualized SharePoint environment. It helps you understand in one blog post the real underlying issues affecting performance of your farm. Finally it finishes off by providing a plan for virtualizing your SharePoint farm.
This topic discusses:
The first important performance choice to make when virtualizing your SharePoint farm is whether to use a “hosted" or “bare metal" hypervisor virtualization technology to host your SharePoint farm.
“Bare metal” technologies have less software layers between hardware and the guest operating system and are more performant than “Hosted” implementations and will provide greater performance for your SharePoint farm.
The table below lists the physical and virtual hardware support for Microsoft server virtualization technologies. If you use VMware here are links to VMware's site for VMWARE ESX Server and VMWARE Server hardware and software boundaries.
Host: 64 GB RAM (with PAE enabled) Guest: 3.6 GB RAM per VM
Host: up to 1 TB Guest: up to 64 GB RAM per VM
From the above table, it is evident that Microsoft Windows Server 2008 Hyper V is the recommended option for enterprises using Microsoft virtualization technologies. The key items that stand out for me are the greatly improved network capacity, CPU and memory capacity which SharePoint will take advantage of. If you use VMware in your organisation, it is recommended to use ESX infrastructure (similar to Hyper V) to host your SharePoint farm.
The decisions on the physical, virtual resources and configuration at each of these layers affect the performance of every virtual machine, and therefore the overall performance of your MOSS farm.
There are some subtle differences between the virtual and physical resource. Why does this matter? Each server role in the virtual SharePoint farm behave differently using virtual resources compared to physical resources. CPU: Physical CPU performance is governed by number of processors and cores, processor efficiency, power draw and heat output Virtual CPU performance is governed by physical CPU and bus contention Memory: Physical Memory performance is governed by memory available on the server and the page/ swap file, which is disk bound. Virtual Memory performance is governed by performance of NUMA nodes, which are memory boundaries on the physical hosts that virtual sessions can be spread across. Virtual Memory is also affected by CPU and disk contention. Disk: Physical Disk performance (Disk I/O) is governed by type of of physical disk (E.g. SAN), the speed of the disk (E.g. 15000 RPM, the RAID configuration and the type of controller (E.g. SCSI). Virtual Disk performance consist of virtual fixed size disks, dynamically expanding disk, and pass through disks . Virtual Disk performance is affected by physical network (if you use external storage solution, such as SAN) and CPU performance and underlying physical disk contention. Network: Physical Network (NIC) performance is governed by number and speed of Ethernet adaptors and switches, and network bandwidth available in your environment. Virtual Network performance is governed by physical NIC, whether you are using emulated or synthetic network drivers, your CPU, and I/O, and the bandwidth available. Recommendations for your SharePoint environment from a physical and virtual perspective for CPU, Memory, Disk and Network. Optimize Physical resource Optimize Virtual resource CPU Performance is governed by processor efficiency, power draw and heat output Faster versus efficient processor – hidden power consumption cost Beware of built in processor software such as performance throttle for thermal thresholds Prefer higher number of processors and multi core Prefer PCI Express to limit bus contention & cpu utilization Prefer 64 bit to 32 bit as it effects how much memory can be addressed and supports larger number of CPUS. Configure a 1-to-1 mapping of virtual processor to logical processors for best performance Be aware of the virtual processor limit for different guest operating systems and plan accordingly Beware of “CPU bound” issues, the ability of processors to process information for virtual devices will determine the maximum throughput of such a virtual device. Example: Virtual NICS Memory Ensure there is sufficient memory installed on the physical computer that hosts the Hyper-V virtual machines Factor in Hypervisor memory overhead over and above standard virtual machine memory requirements. Use a 64-bit guest operating system when possible Configure the correct amount of memory for Hyper-V guests. (memory configuration is hardware specific). NUMA Memory Considerations (see NUMA nodes section) Watch out for page file / swap file. Disk is always slower than RAM. Ensure enough memory is allocated to each virtual machine. If using VMware, avoid over committing memory as it may cause virtual machine to swap to disk which is slower than RAM. Disk Prefer fixed size to dynamically expanding (more info here) Prefer the pass-through disk feature in Hyper-V to either of the above. Prefer SCSI controller to IDE controller. Ensure you are using the fastest Fibre Channels SAN infrastructure: Attempt to provide each virtual machine with its own IO channel to shared storage using dual or quad ported HBAs and Gigabit Ethernet adapters. Ensure your disk infrastructure is as fast as it can be. (RAID 10; 15000 RPM) – Slow disk causes CPU contention as Disk I/O takes longer to return data. Put virtual hard disks on different physical disks than the hard disk that the host operating system uses Beware of underlying disk read write contention between different virtual machines to their virtual hard disks Ensure SAN is configured and optimized for virtual disk storage. Understand that a number of LUNs can be provisioned on the same underlying physical disks Network Use Gigabit Ethernet adaptors and Gigabit switches Increasing network capacity – Add a number of NICs to host. Use IPv4 as the network protocol for Hyper-V host and disable IPv6 (More info here) Ensure that integration components (“enlightenments”) are installed on the virtual machine Use the Network Adapter instead of the Legacy Network Adapter when configuring networking for a virtual machine Prefer synthetic to emulated drivers as they are more efficient, use a dedicated VMBus to communicate to the Virtual NIC and result in lower CPU and network latency. Use virtual switches and VLAN tagging for security and performance improvement and create and internal network between virtual machines in your SharePoint farm. Associate SharePoint VMs to the same virtual switch. Use IPv4 as the network protocol for Hyper-V guests and disable IPv6 (More info here) Plan for virtualized SharePoint farms
There are some subtle differences between the virtual and physical resource. Why does this matter? Each server role in the virtual SharePoint farm behave differently using virtual resources compared to physical resources.
CPU:
Memory:
Disk:
Network:
This article was authored by:
Brian Wilson Senior Consultant Microsoft Consulting Services UK Brian.Wilson@Microsoft.com
Click here for my bio page