I had problems with my Sitefinity web site. The loading times was or is often really slow. If this has to do with Sitefinity or with the hosting company or with both, is difficult to say. The problem was, that sometimes when I loaded my page it was quick and response time was ok. On other times it took 15-20 seconds until the page seemed actually be loading. It looked as if the application needed to compile and this about every half an hour or so. Because of that I investigated first with the hosting company and asked them to turn of application pool recycling for my site. I never got a confirm that they did and I suspect that it might be a policy not to do that.
In my quest to minimize the loading times of the page I asked the Telerik support for help. I got a tip from Teleriks support to shut down any module I do not require. How this is done is described in the KB article at http://www.sitefinity.com/support/kb/sitefinity-3-x/how-to-turn-off-modules-services-and-tools.aspx and is not part of this document.
So I fired up my editor and commented out every module in the web.config file I do not use. So I disabled the News, Lists, Polls, Forums, RSS, Search, Events and Notifications module, as these are the modules I do not (yet) use on my site.
How did this effect the loading times? Actually quite positively. During my investigations I set up a free account at www.pingdom.com to monitor my site. I installed a check that tests a specific page in my site every second and measures the http response time. Such a HTTP check loads a web page without any linked objects included (only HTML code).
Results with all standard models enabled
On 08-31-2009 I did not have the modules turned off in my Sitefinity 3.6 web site. When I looked at the detail report of my pinged.com check and filtered to show only tests that did not respond within 4 seconds, I got more than 30 tests that were over this limit.
Image 1: Response times on 08-31-2009 with filter set to larger 4.000 ms
Even when I included only tests that did not respond within 7.5 seconds for the HTTP get, I still got almost 30 hits. So this means that during that day this automated check hat to wait for more than 7.5 seconds just to load the plain HTML which is actually very small. As you can see from the screenshot below, sometimes the call even timed out after 30 seconds.
Image 2: Response times on 08-31-2009 with filter set to larger 7.500 ms
Results with several modules disabled
On 09-02-2009 I had several modules disabled in my Sitefinity 3.6 web site. And the results were quite impressive. Only 12 times a check did not respond within 4 seconds and only 7 did not respond within 7.5 seconds.
Image 3: Response times on 09-2-2009 with filter set to larger 4.000 ms
Image 4: Response times on 09-02-2009 with filter set to larger 7.500 ms
As you can see, disabling the modules will lower the loading times for your Sitefinity web site significantly. Also the felt performance for my site when I load it in IE or Firefox is faster. However, I'm not yet finished with optimizing the loading times for my web page.
I still can not understand why my site sometimes needs more than 20 seconds to respond to an HTTP get to download the HTML code only, even with caching enabled. It looks to me, as if the ASP.NET webpage was taken down and needs to restart. During such a restart all the modules must be compiled and this will take a while with Sitefinity. But why does this happen about every 30 minutes (when you look at the first log)? Is there some other magic switch hidden in Sitefinity, or do I have to change the hosting company?