3

I have a windows 2008 (RC2) server running Hyper-V with all of my company's virtual machines.

Most of the machines are used to run Continues integration and test environment.

Although each machine has 1-2GB of memory and enough disk space they run really slow!

I've tried installing the "integration disk" and porting the VMs to different disk but it didn't help.

Am I'm missing something? what can I do to improve the overall performance of the VMs?

1
  • As a side note, if you're working with your VMs a lot in Hyper-V, you may want to try out Microsoft's Virtual Machine Manager. It makes creating VMs and moving them between drives/servers a lot easier.
    – a_hardin
    Apr 30, 2009 at 17:28

7 Answers 7

7

I've found that the disk is usually the biggest bottleneck for our virtual machines. Especially if you're doing continuous integration across multiple VMs, you'll be doing a lot of reading and writing. If all the CI processes start at the same time, the problem is compounded.

The quickest way to get better performance may be to add physical drives and distribute your VMs across those drives.

Another way to get better performance would be a large RAID5 array. We've seen amazing performance in large VM clusters when you have lots of drives to spread the data across.

1
  • And today, 4 years later, a nice SSD really kicks ass in terms of handling multi VM IO load.
    – TomTom
    Jun 10, 2013 at 7:22
5

From my experience, disk I/O is the largest bottleneck. After much experimentation, here's what we settled on for our standard Hyper-V server:

  • Dell PowerEdge 2970
  • Dual quad-core AMD procs
  • 16GB RAM
  • 8 x 146GB SAS 15,000 drives in RAID 10
  • Cost after discounts: $3000

We're able to comfortably run 6-10 guests on each box, doing similar things (CI, dev servers, load testing, etc).

1

You also might want to upgrade to the RTM version. I'm not sure how much changed between RC2 and SP1, but that might help a little as well. As a_hardin said, the disk are probably the biggest point of contention.

1

Along with being one of the best features of a virtualized environment, snapshots have a significant performance impact (as do dynamically expanding disks). There is a good discussion of these issues here:

http://blogs.msdn.com/virtual_pc_guy/archive/2009/04/23/should-virtual-machine-snapshots-be-used-in-production-hyper-v.aspx

If performance is critical, you can use fixed disks with no snapshots and use VSS for backups instead. If you prefer to use snapshots, make sure they are on your fast disks.

0

We have a cluster with 2 power edge 2950 quad core 3ghz with 32gb of memory for each host with an external san.

We run about 15 2008 servers on it, everything runs great.

We don t use any snapshot, it s a performance issue...

0

This is from my personal experience.. I use Windows Server 2008 R2 on my home machine which has 4 VM on Hyper-V running. I noticed the VM's are running slow.. not sure coz of less RAM allocated to them.. But a little dig in Resource Monitor.. i.e. Start taskmgr-> Performance and click on Resource Monitor.. that showed lot of Disk IO on my Disk 0.

I verified if all the drives and firmwares are updated and to no surprise the issue was my optical drive had an old firmware. Updated the firmware for my optical drive and things are much smoother now..

Yes.. I prefer fixed disk for my VM's and SSD drives would certainly help.

0

Performance is absolutely crucial when it comes to any production environment so in the name of the speed let's see some tweaks which can be used to optimize and improve VM performance in a Hyper-V environment:

  • Enable Hyper-V Integration Services
  • Use fixed VHD files
  • Don’t use Hyper-V snapshots as a Hyper-V backup alternative
  • Configure the size of paging files
  • Do not create too many virtual network switches
  • Avoid overloading the management OS
  • Close unnecessary applications
  • Install Hyper-V on Windows Server Core
  • Determine a performance baseline
  • Allocate resources effectively
  • Enable Multipath I/O
  • Use the Dynamic Memory Feature
  • Enable VLAN tagging
  • Defragment virtual hard disks
  • Ensure that your hardware is certified
  • Use RAID 10 volumes
  • Deploy 64-bit guest OSs and Generation 2 VMs
  • Properly configure your anti-virus
  • Organize busy VMs into separate volumes
  • Automate tasks with PowerShell cmdlets

More here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .