Printable Version Printable Version Recommend Recommend Email to a friend Email to a friend

Measuring DotNetNuke Website Performance

After returning from DNNWorld 2012, I feel energized by the future of DotNetNuke!

One interesting session during the conference was on DotNetNuke website performance. It contained a bunch of tweaks specifically for DNN. These tweaks and settings are freely available on the extensions forge.

In this blog post, I'll talk about three FREE tools that I have used recently to measure the performance of www.ventrian.com, hosted at ServerSilo. Once I've got a handle on the measurement side of things, I should be able to start making some tweaks and visibly see the results.

1. Google Page Speed

The Google Page Speed tool provides a 3rd party analysis of your website and converts it to a single score out of 100. It does this analysis purely on the basis of how your website is delivered and what the payload for a page looks like.

You can go ahead now and test your own website on the following link (it will give you a score out of 100):

https://developers.google.com/speed/pagespeed/insights

My current score as of writing this post is 69 (out of 100) and after making some tweaks, it is now 91 (out of 100).

After giving you a score, it will provide prescriptive recommendations on how to improve your website. These will be divided into high, medium and low. Here is a snippet of the results from www.dotnetnuke.com.

The key improvements I had to make on my own website were:

  • Compression in IIS (as of DNN 6.2, compression is no longer supported out of the box and you must rely on IIS to do this).
  • Leverage browser caching (involved setting an expiration in IIS for static content)
  • Optimise Images to create smaller file sizes (the browser addon provided these automatically reduced!)

Note: Anything above a score of 80 is definitely acceptable and further tweaks to approach 100 offers only diminishing returns for the effort involved. At some point, manageability does play a key role!

Furthermore, there is a browser plugin to make it extremely simple to test any page:

https://developers.google.com/speed/docs/insights/using_chrome

2. CopperEgg

This tool is a real gem that a colleague recently shared with me.

It is both a performance measurement tool and a monitoring service.

From the above screenshot, it gives me an instant snapshot of the key performance metrics of my website:

  • Response time : time taken to respond and deliver a request
  • Connect time : time taken to perform initial connection for a request (includes DNS lookup)
  • First Byte Time : time taken to begin receiving the first byte of information from a request

It generates this data by "probing" your site every 60 seconds. You can configure multiple probes for the different sections of your website.

If I drill in further, I can look at specific times of the day:

If my site fails a probe alert level, I'll get an email like this:

You can also configure the service to monitor your server. This will alert you when you are running out of disk space, etc. This does require you to run some software on your server though.

The best part about the above service is that it is FREE for 10 Websites!

3. Page Generated Skin Object

The last in my toolkit is a skin object that I wrote quite a long time ago but is still useful.

It is a skin object that can be inserted into any DotNetNuke skin and displays the time taken to generate that page on the server. This information does not include the time taken to deliver the page.

The output will look something like this:

  • Page generated in 0.812474 seconds.

This is super handy when you are waiting on a page to respond and you’re trying to determine if it’s the server or your network connection that is slow.

This skin object is freely available in the extensions forge:

The installation and usage instructions can be found on codeplex:

Conclusion

This article has brought together three freely available tools that you can use to measure DotNetNuke website performance. Using the information available in these tools, you'll be able to tune your DotNetNuke install for maximum performance.

For more information on performance best practices, please see the guide located here:

For next steps scenario, please have a look at this article:

Until next time, Happy Nuking!


Do you have a question? Ask on our Forum!

Try FREE
30 days money back guaranteed