That settles it! Server Core Hyper-V comparison

After my recent post on Server Core being the ideal Hyper-V root partition I received some questions regarding my wasted CPU cycles claim. I claimed a Virtual Host running Hyper-V in a Server Core installation would offer more performance than a Virtual Host running Hyper-V in a Full Installation.

I decided to prove my claim and point out to a couple of colleagues that Server Core would beat a Full Installation. My intention was to show the difference using the Windows System Assessment Tool (WinSAT).

 

Tools I used

My hardware

Dell Dimension 9200I used two identical Dell Dimension 9200 boxes with pure identical hardware, bought in the same period of time and sequential Dell service tags. The systems include a 64bit capable Intel Core Duo 6400 processor with 2GB of RAM and a 320GB SATA hard disk.

I have used these specific systems as part of a group of 4 systems in the past with much pleasure and never saw any difference between any of the four. I used these systems in a course I taught on Windows Server 2008, which is how I knew these systems were capable of running Hyper-V.

I use a third system on which I install Hyper-V as well to get the Hyper-V Management Console to manage both systems remotely. I figured this would make sense, because otherwise you'd see the Hyper-V management console on the Full installation eat up CPU cycles.

My software

I used two DVD's in my test setup:

 

    1. Windows Server 2008 Release Candidate 1 with Hyper-V Beta
      I use this DVD to install the three servers with the x86-64 version of Windows Server 2008 Enterprise Edition v.735
    2. Windows Vista Enterprise Edition
      I use two DVDs with Windows Vista Enterprise Edition to install Windows Vista as a Virtual Guest on the two Hyper-V servers I'm comparing. I'm fully aware Windows Vista will not be able to be enlightened (yet) which makes the comparison more reliable in my opinion.

 

My test setup

Installation

I installed one of the three boxes with Enterprise Edition (Server Core) and the other two boxes with Enterprise Edition. This resulted in two Full Installations and one Server Core installation. I renamed the two full installations to VirtualHostFull and VirtualManager and the Server Core installation to VirtualHostCore. Note there's no difference in the length of the hostname between the first and the last server.

I installed Hyper-V on the two Full Installations using the roles wizard from Server Manager. On the Server Core Installation I issued the following two commands.

bcdedit /set hypervisorlaunchtype auto
start /w pkgmgr /iu:Microsoft-Hyper-V

 

I restarted all three machines when they asked for it (that sounded different than how I intended it to sound…) After the reboot they finished their installation of Hyper-V.

I enabled Remote Desktop on both servers I intended to use as Virtual Host to be able to make screenshots of the Task Manager. I did not install the Desktop feature on the Full installation, nor did I change any Page File settings. Both boxes are located on the same subnet on the same switch, getting a DHCP address from the same DHCP Server.

Configuration

I disabled the firewall on the Server Core installation and the Full installation to make sure I could manage both machines from the VirtualManager box.

I configured a Private Virtual Network on both virtual servers to make sure any virtual guests would not collect updates from Windows Update. (or any other location)

I ejected the Windows Server 2008 DVD from both systems and lay in the Vista DVD. I then defined a Virtual Machine on both Virtual Hosts with the exact same settings. Both machines were configured with 1 Gigabyte of RAM, a 127 GB Hard disk and instructions to install an Operating System from the D: drive. (which represents the DVD drive in both machines)

 

Comparisons

Comparison 1: Vista Installation

I started both Virtual Guests and installed Windows Vista using the default options (mostly) but tried to keep both Virtual Guests as identical as possible. I ran through the installation questions on the Full installation first and then answered all of the installation questions of the Windows Vista Virtual Guest on the Server Core Virtual Host.

This wasn't very bright since I saw a big difference between installing Windows Vista on the two Hyper-V Virtual Hosts. I can not give exact figures, but then again… there a factor called human interaction involved that cannot be measured well.

The Windows Vista installer on the Server Core overtook the Windows Vista installer on the Full installation when unpacking at around 19%. I finished configuring the hostname, default username, password and default profile on the Server Core-based Virtual Guest and logged on the first time before the Full installation-based Windows Vista even began to ask these questions…

Comparison 2: Windows Vista Performance Index

Immediately after installation I used the link in the Welcome Center to access the Performance Index and clicked to view or print more information.

Since Hyper-V cannot offer Direct-X to Virtual Guests the Performance Index on both machines was 1.0 The Performance index is based on the lowest value, which is related to the performance of the video card, which isn't capable of 3D.

There was a main difference between the two systems though, which is shown below:

 

Comparison of Performance Indexes on Windows Vista Enterprise

The Windows Vista Virtual Guest running on Server Core had a higher value for the same processor in both machines. Where Windows Vista rates the processor with 4.2 on top of Server Core, the same processor gets only rated as 4.1 on top of the Full installation!

Since I have seen Windows Performance Index kick up a couple of notches without any apparent reason I decided to rerun the Performance Index procedure. It didn't change.

Comparison 3: Load in Task Manager

I opened up a Remote Desktop connection from the VirtualManager server to both the Virtual Hosts and captured the Task Manager. You can definitely see where the difference in the Windows Vista Performance Index is coming from:

Task Manager comparison

The Server Core installation typically flatlines, when it has nothing to do, where the processor in the Full installation seems to be busy with something and doesn't drop below 10% CPU usage.

Another interesting find when comparing the two Task Managers is the difference in RAM occupation. In that 256 MB Memory gap you could easily fit in a dedicated Server Core Domain Controller 😉

 

Concluding

Did I hear someone mention wasted CPU cycles? 😛

Disclaimer Beta Software

The information on this webpage applies to software from Microsoft that was in testing phase but utilizable by experienced users by the time the webpage was written. This software has not been released for sale, distribution or usage for the general public. The information on this webpage and the beta software are provided "as is" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose.

2 Responses to That settles it! Server Core Hyper-V comparison

  1.  

    I think this article is a little misleading.

    You're not using true CPU/Memory synthetic benchmarking tools such as SiSoft Sandra or Prime95 within the guest OS. This would give you more accurate performance statistics vs. the Windows Vista 'performance index'.

    Also the notion of wasted CPU 'cycles' is misleading in itself since it's the Hypervisor that's handling the CPU scheduling and those cycles coming from the root partition could have a different priority or CPU affinity which would lead to inaccurate performance readings on a guest OS.

    What you should measure if the performance impact of the Hypervisor scheduling CPU time between the root partition and the guest partitions, such as two Windows Vista partitions. That would be much more meaningful and real-world benchmark. Personally I feel that you'll see still only a 3% (or less) impact on CPU 'cycles' by the root partition.

    All that being said, I feel that your numbers only show a ~3% performance impact running Windows 2008 Full Install vs. Core, and to me that's a great statistic in favor of running the Full Install with all the extra options it comes with.

  2.  

    Misleading? perhaps.

    I was in it to prove a point and not to determine the exact difference.

    The exact difference at the time when I compared Hyper-V on Server Core to Hyper-V on a Full Installation wasn't really interesting anyway. Hyper-V was still in beta and Windows Server 2008 wasn't RTM yet.

    I Guess I'll need to do some comparing when both products reach RTM. I'll use the information you posted to measure the performance impact.

leave your comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.