We recently had a disastrous transition from a single server (Win2008 server, 4 dual core 2.8GHz processors, 24G RAM) to a much larger, faster Hyper-V server. We run Apache 2 and PHP 5 (both 32-bit) and really nothing else.
The new VM has a guest with a Win2008 server operating system with an identical configuration as the original server. The entire guest OS and Apache server root is stored on a SAN with a 2G NIC (1G read and 1G write). I am told that is required in order to have the ability to failover to another VM if needed.
When running Apache Bench with identical parameters, the old single server performs 20 to 30% better than the new "bigger, faster" Hyper-V machine. We installed a Linux box with Apache 64bit on the VM and still had the same performance issues.
I can't figure out why a machine that is in all areas a "much better" machine (RAM, processors, etc.) would perform so poorly. Is this a result of having the operating system and Apache root stored on the SAN? Does a Hyper-V installation always perform worse than a non-virtual server? Where would you look and how would you determine what the problem is?