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:

  • "Hosted" versus "bare metal" hypervisor and recommendation for your SharePoint farm
  • What are the physical and virtual hardware boundaries for hosting your SharePoint farm?
  • What are the layers of a virtual SharePoint farm?
  • The difference between a physical and virtual resource
  • Recommendations for your SharePoint environment from a physical and virtual perspective for CPU, Memory, Disk and Network.
  • Plan for virtualized SharePoint farms

“Hosted” versus “bare metal” hypervisor

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” hypervisors are software systems, such as Windows Server 2008 with Hyper-V and VMWARE ESX Server, that execute directly on the host’s hardware as a hardware control and guest operating system monitor. The guest operating system which hosts SharePoint software executes directly above the hypervisor. 
  • “Hosted” hypervisors are software applications running within a conventional operating system environment, typically as a service. Examples include Microsoft Virtual Server 2005 R2 and VMWare Server.  The guest operating system which hosts SharePoint software is executes above the operating system which then executes on the hardware resulting in 3 layers between hardware and SharePoint.

Recommendation:

“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.

What are the physical and virtual hardware boundaries for hosting 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.

  Virtual Server 2005 R2 Windows Hyper V
Hypervisor “Hosted” “Bare Metal”
Architecture Host: x86 or x64
Guest: x86 (32-bit) only
Host: x64
Guest: x86 or x64
CPU 1 virtual CPU per guest VM
CPU emulates hardware (E.g. Intel/ AMD)
No SMP
x64 CPU with hardware assisted virtualization
4 x virtual CPUS per Guest VM. (Numbers of CPUs is dependant on guest operating system, See FAQ)
SMP supported
Memory

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

Networking 100MB per network adapter
4 x network adaptors
No VLAN support
10GB Ethernet adaptors 
12 x network adaptors (8 synthetic ; 4 emulated)
unlimited virtual switches and unlimited vms per switch
Disk 4 x virtual SCSI busses
2 TB maximum per Virtual Hard Disk
56 TBs of storage per virtual machine
Direct Attach Storage (DAS): SATA, eSATA, PATA, SAS, SCSI, USB, Firewire
Storage Area Networks (SANs): iSCSI, Fiber Channel, SAS
Network Attached Storage (NAS)
Pass through disk support
 
(4 x virtual IDE and 4 x virtual SCSI)
512 TB of storage per VM
Licensing Free (Host and Guest OS requires licenses) Hyper V Server (host free only)
Windows Standard Server (host + 1 VMs)
Windows Enterprise Server (host + 4 VMs)
Windows Datacenter Server (host + unlimited VMs)
Reference Links Microsoft Virtual Server 2005 R2 FAQ Microsoft Windows Server 2008 Hyper V FAQ
Nick MacKenie’s blog post: Hyper-V Maximum Supported Configurations

Recommendation

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. 

What are the layers of a virtual SharePoint farm?

  • Physical hardware layer: The physical hardware layer consists of physical resources in your host server, such as CPU, memory, network and disk
  • Virtualization platform layer: The virtualization platform layer, in Windows Server Hyper V,consists of the Hypervisor and Parent partition and the combined effect on of multiple virtual machines sharing the same physical resources of the physical hardware layer. See downloadable whitepaper for more detail on Hypervisor and Parent partition
  • Guest operating system layer: This layer is where the virtual machine’s, each preconfigured with a set of virtual resources, reside.  This is where SharePoint server roles are hosted for 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.

The difference between a physical and virtual resource

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.
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
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

  1. Determine the physical software and hardware requirements for your existing or planned SharePoint farm. See the following TechNet articles for guidance:
  2. Determine your virtual machine hardware requirements for your SharePoint farm using the the following guideline for each virtual machine in your farm:
  3. Now assess whether your physical virtualization environment and technology will be able to meet your performance requirements for your SharePoint farm.  (See virtualization boundaries in previous section.)
  4. Plan and optimize your host environment servers by ensuring that each has enough physical resources to host the planned virtual SharePoint servers. Don’t forget to make facility for failover cluster host servers for your virtual machines.
  5. Plan and optimize your virtualization platform layer:
    • Understand the virtualization overhead with different mixes of SharePoint VM workloads
    • Understand the performance bottlenecks in the underlying storage and network infrastructure, both from a cumulative as as individual path perspective.
    • Group complimentary virtual SharePoint machine workloads  (a workload is a single virtual machine) for optimal performance on a physical host based on the performance characteristics of your virtual machines
  6. Plan and optimize the guest operating system layer :
    • Use Windows Server 2008 as the guest operating system (See information on “enlightenments”)
    • Optimize each virtual guest  by ensuring that the 4 physical and virtual resources utilization are maximized. Secondly maximize application and configuration for each guest machine in your virtual SharePoint environment
  7. Finally continually monitor performance and adapt configuration for optimal performance for each host server based on what is happening in your organisation. Plan and cater for peak usage scenarios.

Other articles in this series

This article was authored by:

Brian Wilson
Senior Consultant
Microsoft Consulting Services UK
Brian.Wilson@Microsoft.com

Click here for my bio page