Pre-caching contents using Application Request Routing (ARR) and Search Engine Optimizer (SEO)

Application Request Routing (ARR) Version 2 includes support for disk caching capabilities which effectively allows ARR to be used as a cache proxy.  ARRv2 also includes management of cache hierarchy so that it can be used to build a network of cache servers, as in Content Delivery Network (CDN) or Edge Caching Network (ECN). 

More information on ARRv2 can be found here and they can downloaded at:

  • Microsoft Application Request Routing Version 2 for IIS 7.0 (x86) here.
  • Microsoft Application Request Routing Version 2 for IIS 7.0 (x64) here.

One of the features in ARRv2 Beta2 release is a way to pre-cache contents on ARR servers in anticipation for the expected demand for the contents.  (ie. A popular movie is being released on DVD on Friday and you expect users to rent and watch them online when it is released.)   The walkthrough on the pre-cache feature in ARRv2 can be found here.

In order for this feature to work, the ARR administrator must provide a list of URLs for ARR to pre-cache.  ARR can either consume this list via a file or via a URL which in turn has the list of URLs in the entity-body in the response.  ARR expects the list of URLs in the following format (one URL per line):

http://somedomain.com/somepath/somefile1.jpg
http://somedomain.com/somepath/somefile2.jpg
http://someotherdomain.com/somepath1/somefile1.jpg
http://someotherdomain.com/somepath2/somefile1.jpg

.
.
.

If the ARR administrator or the content owner/publisher can provide such list of URLs, that's great.  You are all set - just follow the steps in the walkthrough to pre-cache the contents.

But what if you don't have such file?  How could such file be created with minimal effort? 

The Search Engine Optimizer (SEO) Toolkit is a much more powerful tool than just using it to generate the pre-cache URL list (and the readers are strongly encouraged to check SEO out), but in the context of this blog, I will use SEO to generate the list of URLs.

Step 1: Open IIS Manager and locate Site Analysis icon:

Step 2: Configure SEO to analyze the site that you want to pre-cache.  The site, in this case, could be a staged site where the new DVD is ready to be published.  In my example below, I am simply pointing at a site which contains pictures.

Step 3: Once the site is analyzed (and this is where the real value of the SEO comes in, but I won't get into that in this blog), it should look like the following.

Step 4: What I am interested in are links to the jpegs on my site so that I can generate the pre-cache URL file.  So, I am going to run a query to just list the URLs with content type that begins with images.

Step 5: I just want to export the URL, so I am going to remove all the columns that I don't want.

Step 6: Once I export the file, I see something like:

URL
http://wonyoo-w2k8/pix/IMG_1400.JPG
http://wonyoo-w2k8/pix/IMG_1401.JPG
http://wonyoo-w2k8/pix/IMG_1412.JPG
http://wonyoo-w2k8/pix/IMG_1413.JPG
http://wonyoo-w2k8/pix/IMG_1414.JPG
.
.
.

Step 7: Simply remove the column header, URL, from the file and voila!  You now have the pre-cache URL file that is generated for you.  This file can now be used to feed ARR to pre-cache them.

1 Comment

Comments have been disabled for this content.