Slow 1st time compile and application warmup

Posted by Community Admin on 03-Aug-2018 16:40

Slow 1st time compile and application warmup

All Replies

Posted by Community Admin on 19-Jan-2011 00:00

I have been reading posts from both 3x and 4 about slow page load times the 1st time a user hits the site after the app pool has gone idle. Right now we have a few sites in development and we are about to launch one in the next few days so I am worried about how significant this is or is not going to be on our production server.

I expect the app pool to timeout frequently since we are in development and I am basically the only person hitting the site on a daily basis, but I am looking for ways to reduce this load time.  It takes anwhere from 15-30 seconds for the site to come up on the initial request.

I have read a post talking about using IIS 7.5 Application Warm up so I installed and tested it out.  I am not see any difference and so am curious if others are using it and how they have it confirgured for Sitefinity.

I went to the site in IIS and then to settings under Application Warmup.  I made sure there was a check for both "Enable Application Warm-Up" and "Start Application Pool "AppPoolName" when service is started".  I then added a request and used the default settings.  Finally I recycled the AppPool and tested the site and did not see any change in the load time.

What should I be putting under "Enter URL relative to application root"?  I have tried: <physical folder name>/default.aspx, <physical folder name>/<name of homepage set within Sitefinity>, /default.aspx, /<name of homepage set within Sitefinity.

I am using the offical release and debug is turned off in web.config as well.  I also want to add that I am using the default settings for the AppPool which I believe is 20 min. for the timeout.  Another suggestion I have seen is to increase that timeout, but I am curious to how badly this affects performance on a server with multiple sites (20-40 sites). I know that server specs play a big part in that last question, but wanted to see what the general consensus is.

Posted by Community Admin on 30-Apr-2011 00:00

Has anyone else experimented with speeding up the initial site load of pre-warmup style approaches?

I have a few sites that can get less than 100 visitors a day, and I'd be very interested in hearing what can be done to avoid 15 second delays.

Posted by Community Admin on 30-Apr-2011 00:00

It may not be the most elegant solution but we just set a task that hits the website every 15 minutes. Some webhosts (e.g. discountasp) have this functionality built into their control panel so it takes two seconds to set up. It's not perfect but works for us.

Posted by Community Admin on 04-May-2011 00:00

Hello all,

There is a problem with Sitefinity 4.0 and site warm up. The problem is that this version does not use the ASP.NET rendering engine and the warm up has almost no effect but to prime the cache, and if the cache is set to expire after two minutes (using sliding expiration) if no one hits the cached pages within those two minutes the cache will expire.

This is not the case with Sitefinity 4.1 however. We have moved to the ASP.NET rendering engine and use its benefits for page compilation and site warm up. This means that once pages are compiled they will render much faster, as long as there are no edits to the page.

All the best,
Radoslav Georgiev
the Telerik team

Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items

Posted by Community Admin on 26-Aug-2011 00:00

I ended up using KMac suggestion since the Beta program "Application Warm" is no longer available and there is no signs it will be back.  The batch file code below starts my browser (chrome) and loads my website, waits a bit then and then closes the browser. 

I use the Task Scheduler to set this to run every so often and it solved the 30 second load time issue for the first user.  The attached image shows the the correct settings for the Task Scheduler; make sure you tell it to run regardless of being logged on.

Batch File:

@echo off
start /min /d "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" http://website.com
 
ping 127.0.0.1 -n 5 -w 2000 > nul
taskkill /f /im chrome.exe
 
call timeout 5
EXIT /B 0

I wanted a 5 second wait for the browser to get up and running so that's why there is a 'ping' in there. 

Posted by Community Admin on 26-Aug-2011 00:00

We do the same as KMac...

We have a script that runs every 15 minutes to keep the App Pool from recycling.

This thread is closed