IMPROVING HYPER-V PERFORMANCE AND THROUGHPUT

GENERAL GUIDELINES TO IMPROVE HYPER-V SPEED AND ACHIEVE HIGH SYSTEM PERFORMANCE

  • Don’t use dynamically expanding VHDs or VHDXs. These are only meant for test systems and are not recommended for production systems by Microsoft.
  • Don’t use Hyper-V snapshots. These are also only for test and development purposes and not recommended by Microsoft for production use.
  • Use large NTFS cluster sizes, such as 64K.
  • Do not use drive compression of any kind.
  • Use a separate drive for the Windows paging file
  • Defragment all drives regularly, including from within the virtual machine operating system
  • Use fixed sized VHDs with plenty of free space for the VM operating system
  • Have at least 10 to 20% free space on every disk on the host. NTFS and VSS quickly become inefficient when disk space is below that limit.
  • Keep at least 1 GB free RAM on the host
  • Increase the VSS storage size allocation limits for each drive to at least 10% of each drive’s size. Command: vssadmin resize shadowstorage
  • Increase the Windows paging file size to at least 2.5x the RAM size. Use the same setting for minimum and maximum. Ensure the paging file is not fragmented
  • Make sure your system isn’t clogged with orphaned VSS snapshots. (Command: vssadmin list shadows)

GENERAL HARDWARE RECOMMENDATIONS TO IMPROVE HYPER-V SPEED

  • Use high RPM drives
  • Use striped RAID for virtual hard drive storage
  • Use USB 3 or eSATA for external backup drives
  • Use 10 Gbit Ethernet if possible for network traffic
  • Isolate backup network traffic from other traffic.
  • Use separate disks for VMs with high I/O requirements
  • Increase the VM’s RAM
  • Increase the host’s RAM. Always keep at least 1 GB available on the host

CLUSTER SHARED VOLUME RECOMMENDATIONS TO IMPROVE HYPER-V SPEED

  • Try all the steps shown above first
  • If using a cluster shared volume, traffic isolation is very important.
  • Use separate NICs for SAN, backup, and cluster management traffic.
  • Use 10 Gbit Ethernet if available
  • Separate busy VMs into separate volumes
  • Add additional nodes to spread the load
  • Pick a time for backup when the network traffic is low.
  • Disable NetBIOS over TCP/IP
  • Enable jumbo packets
  • Use high quality network switches
  • Keep the LANs short and connect only a few nodes to each CSV. I.e. split large setups into separate CSVs
  • Don’t use several switches on a Ethernet bus because each of them adds latency

BACKUP SETTINGS TO INCREASE HYPER-V BACKUP SPEED

On most systems administrators generally want to keep the Hyper-V backup process in the background so it has little if any impact on the overall system. Since most Hyper-V hosts are active 24/7, there is hardly ever a time to shut down virtual machines for the maintenance.

However, there are time windows, usually at night, where a backup process could be given additional system resources and finish faster, at the cost of a minor system slowdown.