IMHO - storage throughput is the silent killer of performance
Disclosure: I work at MSFT on Hyper-V
I spend a lot of time talking to people who are deploying virtualisation for private cloud solutions, and discussing the hardware requirements.
For most people - the presence of modern multi-core processors means that CPU is rarely an issue. In fact, most people have significant excess CPU power even after they have moved to a virtualised environment.
Memory can trip people up - but if you get it wrong it is fairly easy to identify - because VMs will fail to start with big error messages about there not being enough memory.
But storage throughput is the silent performance killer.
People go and put ~50 systems on a storage I/O system that is only twice as powerful as what they used to use for a single system - and then do not understand why performance is awful. There are really two problems here:
1) We (I am using the royal we here and are referring to the makers of virtualisation software) do not alert users that performance issues may be caused by the fact that a given virtual machine seems to only be getting a measly 5mbit storage throughput (and I have seen numbers get that bad on poorly configured systems)
2) System administrators / IT pros are just not used to thinking about the importance of storage bandwidth. For most systems today you just "get a good storage system" and do not take the time to actually think about it and size things out properly.