ASP.NET MVC 4 AllowAnonymous Attribute and Authorize Attribute
Orchard 1.1 Warmup Module for Startup Performance
In case you can't tell, we have been working day and night in understanding the new features in Orchard 1.1 before it has been announced and officially released at Mix11. We've talked about the new Orchard Recipes, the Shape Tracing Feature for Orchard Designers, the Import Export Module, and now we will briefly discuss the Orchard Warmup Module that we only mentioned before.
The Orchard Warmup Module is available in Orchard 1.1 and we will provide a brief introduction to it at this time. Note that if you are an Orchard Web Developer and attending Microsoft's Mix11 Developer Conference, make sure you attend the Free Orchard Training and say hi to Bradley! Ask him about the Orchard Warmup Module offline if you are interested in more details.
Dynamic vs. Static Websites
Some Orchard Web Developers have experienced an unacceptable delay on startup times of their Orchard Websites. Unacceptable is a rather loaded word and open for discussion, but in general, a rich, dynamic website will be slower to get started than a static website. This is the price of having a very cool and modular architecture that we experience with Orchard CMS.
You may or may not experience a noticeable delay depending on your hosting partner and situation, but indeed, an Orchard Website will start slower than a static website. This is a given and may or may not be noticeable depending on your environment.
If you are experiencing slow startup times on your Orchard Websites, there are a number of tactical solutions that we have discussed, including the Orchard Keep-Alive Module, adjusting the IIS Application Pool Timeout, and the IIS Application Warmup Module.
In this post we will discuss the new Orchard Warmup Module in Orchard 1.1.
Orchard Warmup Module in Orchard CMS 1.1
The Orchard Warmup Module is a nice tactical solution released by the Orchard Developer Team in Orchard 1.1. You enable the Warmup Module just like any other module by clicking on the enable link under Module -> Features.

The Orchard Warmup Module needs to know the base URL of your website. In this example, we are running Orchard on a development machine and enter the base URL as such:

After you have entered the base URL of the Orchard Website in Orchard Settings, you need to tell Orchard which URL's you want to WarmUp. Okay, so let's get into the nitty-gritty of how the Orchard Warmup Module works. The Warmup Module does not magically make the Orchard CMS Website start faster. The module will send a static ( cached ) representation of certain pages, blog posts, and other content to the visitor while it starts up. This gives the illusion that Orchard is starting faster, but is really a kind of most-recent loading screen that is sent to visitors while it is starting. The visitors sees a cached version of the page, blog post, or content item right away while Orchars starts. These static, cached items are generated by Orchard and located in the App_Data\Warmup Folder as files and named by the URL.
The Orchard Web Developer specifies which pages, blog posts, URL's are candidates for warmup in the Orchard Warmup Module Settings in the Dashboard. In this case, we are specifying that the Orchard Home Page, Blog, Contact, and About Pages should be warmed up by the Orchard Warmup Module.

Once you specify and generate the pages and Orchard CMS content that is to be warmed-up, the Orchard Developer will notice the content in the App_Data\Warmup Folder by URL:

These are the cached, warmed-up versions of the content that will be delivered to the visitor if the URL in question is requested when Orchard needs to start-up. These cached versions will not necessarily be the latest versions of the content depending on how often you set the items to be re-generated and cached by the warmup module.
Depending on your host and website, you can see incredible startup times by using the Orchard Warmup Module. It is recommended that you test the startup peformance yourself as the startup benefits will vary based on your host and other environmental conditions.
Conclusion
Depending on your Orchard Hosting and Website you may never need to use the Orchard Warmup Module or any of the tactical solutions we have discussed at Orchard Startup Times. Note that we are Orchard Developers and we do not experience the startup delays and are using shared hosting by choice. If you do experience delays, however, you may want to try the Orchard Warmup Module in Orchard 1.1.
Update: In Orchard 1.2, the Warmup Module is now native to Orchard CMS and configured in the Site Settings under Performance! See our blog post: Orchard 1.2 Performance Settings - Warmup Module Goes Native. Performance was the main focus of the Orchard 1.2 Release!


