Speed up IIS, ASP.NET, SharePoint

While attending the K2 conference recently in Denver, I was shown an awesome new website add-on, to assist with performance and general web server through-put.

This is not actually an ASP.NET or SharePoint function or configuration, but a lower-level HTTP handler for Internet Information Services (IIS).

A bit tricky to explain – here’s what normally happens, when viewing an ASP.NET page, or SharePoint (just an ASP.NET page as it’s core) :

  • Web browser requests page using URL
  • The main file (ASPX, or HTML) is returned to browser – just a text file really
  • The browser renders the page, and requests each file from the server as it needs it – such as JPG, CSS, JS, etc.

This is old, Old, OLD school HTTP/internet technology – and the basis of the “interweb”. 

When HTML was first introduced (1993), it was primarily text only – the HTML file was the description, and the browser asked for each other piece as it needed it.

The down-side for this is that the web server (IIS) can have 10-20 or more requests/hits for a single page.

Enter – the Runtime Page Optimizer…    

This intercepts the page response as it’s about to be thrown down to the browser, and bundles some pieces together, and updates the HTML being response’d.

… works by automatically parsing the HTML page just before it is sent to the client and combining similar resource files, reducing the number of requests to render a page.

This approach significantly improves the performance of the website, reducing the number of requests that a browser makes for a faster load time from the end users perspective.

The speed increase that your site might achieve is dependant upon many factors, but the average case is a 200-400% speed improvement.

We have however tested a number of sites that load 800% faster with the RPO turned on !

I was shown the RPO in operation, viewing within Firefox, with the Firebug feature showing the files being returned (essentially the number of requests).


From what I could see, instead of 6 images (JPG), there was an single (extra wide) image file with all six images looking like a gallery file.  Slightly better file compression then – smaller combined file size – and one request only (for images).

Similarly, the JavaScript is bundled together, and as a single JS file.  I guess this is not compressed – could use GZIP or similar.   Either way there are still less requests on files (and leg-work by IIS).  

This looks like a great web technology – simple, efficient – and easy to implement.   The basic premise is that “IIS action is bad” – and how can this be minimized.  

Bandwidth is not a problem these days – as it was when this was browser-server protocol was first conceived.  So – pushing the “work” back to the simple need to gather all files – using only 4-5 hits – rather than 10-20 (or even MORE – for something like SharePoint – would be interesting to see).

And – the caching is an interesting one too – when another browser requests the same page, the “big file containing 6 images” is already ready to go.

My next comment was “this is awesome – hope you guys have got a PATENT for this ??!!!!?”    The answer is YES – they have registered patents protecting themselves for this.

Can’t wait to try it out – the ALPHA has just landed, with a quick patch added to work better with AJAX-enabled sites – the whole partial postback/partial request is GREAT for users – but friggin’ annoying & tricky for coders/developers.

Installation is the next thing to try out – supposedly just need to :

  • Copy the RPO DLL to the bin folder of the WebApp (or SharePoint)
  • Update the web.config to include some settings
  • Can update the optimizationLevel to tweak how the output is generated

Click below to view more – and sign up for the Alpha release.   And don’t worry that they’re from New Zealand, it should still work…    🙂

Runtime Page Optimizer improves ASP.NET website performance by more than 200%

There’s a video clip too – explaining more about how it works – to clarify anything I may have confused…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s