Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I moved this question from StackOverflow because it makes more sense to have it here

We have decided to go with a virtualization solution for a few of our development servers. I have an idea of what the hardware specs would be like if we bought separate physical servers, but I have no idea how to consolidate that information into the specification for a generalized virtual server.

I know intuitively that the specs are not additive - I shouldn't just add up all the RAM requirements from each machine to get the RAM required for the virtual server. I can't really treat them as parallel systems either because no matter how good the virtualization software is, it can't abstract away two servers trying to peg the CPU at the same time.

So my question is - is there a standard method to estimating the hardware requirements for a virtualized system given hardware requirement estimations for the underlying virtual machines? Is there a +C constant for VMWare/MS Virtual Server overhead (and if so, what is C?)?

share|improve this question
add comment

2 Answers

up vote 5 down vote accepted

Virtual servers take advantage of the fact that most servers do not run at capacity for any length of time, and cpu cycles / memory can be shared. Therefore, it REALLY depends on how busy your virtual machines are.

It also depends on which virtual environment you are using, as to how well it can share memory. (I seem to recall that when I experimented with XEN there was no memory sharing at all - but I think that has now changed).

A development environment is a perfect place to get your feet wet with a virtual environment, and it's real handy to be able to "create a new server" in about 5 minutes if it is needed (even allowing you to over-allocate your resources temporarily in a pinch).

By way of example, we can host approximately 100 virtual machines using VMWare Infrastructure on 5 physical servers. Each of these physical machines has 4 dual core Xeon 2.6Ghz CPUs, 16Gb Ram, and 8 - Gigabit nics. (so an average of 20 VMs on each of these). We find our biggest limitation to be the amount of available memory.

I can say that having worked in a virtual environment for several years now, I wouldn't want to go back.

Hope this helps.

share|improve this answer
add comment

Cross-posted from http://serverfault.com/questions/1327/how-to-improve-hyper-v-performance:

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

share|improve this answer
    
I agree disk I/O seems to usually be the bottleneck. Make sure you account for it if you have disk intensive apps in the guests. I like those specs, only thing I would consider changing is more Ram on the host if the guests could take advantage of it. –  Aaron May 4 '09 at 13:36
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.