Foreword

Hello again from Prague! Here is Jaromir and, in this post, I’ll show you how you can play with ws2016lab to measure I/O consumption of each server installation option.

I decided to compare the Nano Server IO footprint to other, traditional GUI/Core installations. Why? I just wanted to demonstrate that having unnecessary components is something you really don’t want because it is not only a bigger security surface, but also significantly higher IO overhead.

Why should you care? Let’s say you would like to deploy a new application – therefore you need to provision a new server. It’s not only the provisioning time you should be concerned about, but also how much you will slow down production, as some server will be spinning up.

In this blog post I’ll be comparing very first boot IOs of domain joined and offline patched servers (Cumulative Update for Windows Server 2016 TP5 and 2 Cumulative Updates for Windows Server 2012R2). You will see how many Mbytes each edition consumes during very first boot from your Storage.

In this screenshot you can see all vhdx files in the parent disks folder. Big size differences, right? And yes, I was writing this blog for you late at night.

Note: Nano server contains all of these packages:

Microsoft-NanoServer-DSC-Package.cab

Microsoft-NanoServer-FailoverCluster-Package.cab

Microsoft-NanoServer-Guest-Package.cab

Microsoft-NanoServer-Storage-Package.cab

Microsoft-NanoServer-SCVMM-Package.cab

All servers are hydrated as VMs on my laptop on my 1T Samsung 840 EVO SSD

Hydrated machines ready to be started

Msinfo32

Measuring IO overhead

For measuring IO overhead, I’ll be using Windows Performance Recorder and Windows Performance Analyzer – tools that you can download and install for free as part of Windows ADK. For each VM, I’ll start recording, boot VM, wait for logon screen to appear and then wait additional 60 seconds just to settle things down.

Windows Performance Recorder settings:

Results

For displaying results I’m using Windows Performance Analyzer. Again – its free and part of Windows ADK.

Windows Server 2016 Nano

From the screenshot below you can see that IO settled down after 9 seconds. Total reads were 156 MB and Total Writes 135 MB. Machine did not reboot at all.

Windows Server 2016 Core

From the screenshot below you can see that IO settled down after 85 seconds. Total reads were 2,304 MB and Total Writes 1,170 MB. Machine rebooted once.

Windows Server 2016 Full

From the screenshot below you can see that IO settled down after 135 seconds. Total reads were 2,533 MB and Total Writes 2,089 MB. Machine rebooted once.

Windows Server 2012 Core

From the screenshot below you can see that IO settled down after 82 seconds. Total reads were 1,618 MB and Total Writes 1,426 MB. Machine rebooted once.

Windows Server 2012 Full

From the screenshot below you can see that IO settled down after 84 seconds. Total reads were 1,694 MB and Total Writes 1,453 MB. Machine rebooted once.