One of my initial interests when I started blogging was using performance testing to determine optimal configurations (one of my first posts discussed performance of SCSI versus IDE disk configurations in Virtual Server 2005). I thought recently that it would be interesting to see how a Windows Server 2012 virtual performs in Windows Azure versus the same virtual running in my Hyper-V private cloud environment. The results are documented in this blog post.
Underlying assumptions:
1) I understand that all of these tests are being done on the virtuals in the environment, and do not take under consideration either the hardware used in the host environment or other pressure placed on those hosts during the timeframe of the performance testing.
2) Additionally, I understand that seeing only the virtual’s performance does not give a full picture of the performance of either the application or the system as a result.
3) The performance tools used in the virtual will vary depending upon items identified in the first assumption. To address this multiple performance tests were run on the same system to see if there was a pattern of performance.
4) Performance tests were done using PerformanceTest by Passmark software and Speedtest for network connectivity speeds.
5) The hardware used on the host systems is different (as shown in screenshot below which show the Azure host as an “AMD Opteron x64 based 2.10 GHz” and my Hyper-V host as an “Intel Core i7 x64 based 3.07 GHz”). The guests have been matched as closely as possible and were tested with two processors and 3.5 GB of memory. The hardware in my Hyper-V private cloud is likely not as powerful as would exist in a production environment especially on the disk architecture.
Blog post goal:
The goal of this article is to show how performance compares between an on-premise lab for Windows Server 2012 and one hosted in Azure. Additionally, this article will show what types of tools are available to show performance metrics for both of these options.
The Azure based Windows Server 2012 is shown below:
The Private Cloud based Windows Server 2012 is shown below:
Azure Performance Results:
The following are the PerformanceTest results on the Azure based system performed at three different on this system:
Testing was done at various time intervals from the server in Azure using SpeedTest with results shown below:
How does Azure see this from a performance perspective? The graphic below shows how key metrics are shown for this server in Azure.
Private Cloud Hyper-V Performance Results:
The following are the PerformanceTest results on the Azure based system performed at three different on this system:
Moved to a different/less used (same equipment) local host.
Testing was done at various time intervals from the server in Hyper-V using SpeedTest with results shown below:
The graphic below shows Operations Manager monitoring for the server using the Windows Server Task Pane dashboard (available at http://blogs.technet.com/b/momteam/archive/2012/06/12/free-windows-server-2008-dashboards-for-opsmgr-2012-and-tool-to-help-create-your-own-customized-dashboards.aspx).
So what were the results? How did the virtual compare in each environment?
The graph below shows the various counters gathered for both the Azure based VM and the Hyper-V based VM. Key points to consider.
1) The overall Passmark rating was similar for all of the tests but the Azure overall score was higher than the Hyper-V based virtual. This score was highly impacted by the Disk Mark value for the server in Hyper-V.
2) The CPU Mark for the Hyper-V hosted VM was higher than the results for the Azure based VM. This makes sense due to the differences in processor speed discussed at the start of this article.
3) The 2d Graphics Mark for each of the tests were in general the same with a slightly higher score for the Hyper-V based virtual.
4) The Memory Mark was slightly higher for the Hyper-V based virtual tests.
5) The Disk Mark was SIGNIFICANTLY higher for the Azure based virtual which resulted also in the overall Passmark rating score being higher for the Azure based virtual.
6) Ping times were generally consistent in each environment tested with the Hyper-V based virtual performing better than the Azure based virtual.
7) Download and Upload speeds showed a significant amount of variation depending on when the speed tests were done. On average the Hyper-V based virtual had slightly higher average download speeds with the Azure based virtual having slightly higher average upload speeds.
Summary: I am impressed with the performance results that I have seen for an Azure’s VM when compared to one running in my own Hyper-V based lab.
Additionally, I may need to look into upgrading my disk architecture in my lab… Have a great weekend!