DotNetNuke is one of the leading Web Content Management Platform (or CMS) for Microsoft ASP.NET. It is an open source CMS platform that also functions as a flexible development framework for creating content rich web applications. DotNetNuke is also designed to be expanded by the use of third party modules to enable almost any functionality a website could need.
For the purpose of this benchmark, DotNetNuke was tested using its default configuration on Windows 2008 R2 Enterprise SP1 with a SQL Server 2008 Enterprise database back-end. Testing was done locally using a Dell PowerEdge 2900 as the client machine over a private network running on an HP 1810-8G switch.
To simulate user load we are using a software package called Apache JMeter. JMeter is a powerful Java based application with a wide range of very powerful features. It is used to test performance on both static and dynamic web resources by simulating different load types. For this set of testing we are using it to roughly determine the maximum load our server can handle while staying under a specified average response time. Simply, we are attempting to determine how many hits per second, on average, this hardware is capable of handling in an acceptable amount of time.
One of the issues with running this type of test is simulating the exact load against different machines. While one set of hardware may respond at 1500ms under a load of 100 users, another server may only be able to handle 60 while responding within this time frame. This is the reason the response times will differ slightly between servers, different numbers of users had to be simulated to achieve comparable results.
Apache JMeter was run in this test against several pages, including logging into the system and displaying one of the back-end admin pages. An average server response time of under 1.5 seconds was the goal, however for this benchmark I did allow for the overall average to be slightly higher as the Admin page caused a fairly substantial increase on its own. Note that these response times are the overall response time and not the time to first byte.
These results are from runs of roughly 150,000 hits. One of the pages being generated was a back-end admin page that caused the average response time to increase fairly substantially. Removing this page from the average brings them down to around 1400ms, in line with our goal of < 1500ms. There are many factors that come into play for this type of test and all testing was done under no bandwidth constraints on a very low latency network, real world numbers will vary greatly.
Benchmark results:While these numbers were far lower than expected overall, they were roughly where expected in relation to each other with the E5-2660 being just under 4x faster. DotNetNuke is very resource intensive in its default configuration, however so we could reproduce the test on each machine and be able to accurately compare the results no changes were made. To give some idea what these numbers mean, per day the E5-2660 would be able to handle around 2.9 million requests compared to the roughly 740 thousand of the E5620, while keeping the average load time to under 1.5 seconds.