Speed up site on IIS7

Hi,
I have several sites all with low volume (at the moment).
I understand that is a site is not accessed in 20 minutes then IIS7 effectivly puts that application to sleep untill it is requested again. On start up this then has a detrimental effect to the user.
As with most people I want to keep my site as quick as possible.
I have two main type of sites to look after 1 site is a price comparison site (built from scratch) and so has many many pages (1 for each product). The other style of sites are many CMS sites built using Mojoportal framework.
looking in the documentation for mojoportal, they recomend to resolve the slow issue to include the following lines to the config file
<add key="UseAppKeepAlive" value="true" />
<add key="AppKeepAliveUrl" value="" />
where you specify the url that you want to keep alive.
I may be able to do this for a few pages on the mojoportal site, but does this work for none mojoportal sites, I cannot see much documentation for this.
if this does apply to all IIS7 then my next issue is the price comparison site has too many pages to put a line in for each.
Is there a way that I can keep an application alive all the time and if so are there any detrimental effects.



Simon CrippsOwnerAsked:
Who is Participating?
 
Brad HoweDevOps ManagerCommented:
Not really.

If needed, you can still keep recycling and enable it to execute on a specific schedule. You just need to make sure that the recycling interval is set to 0.

Right click on the app Pool, select Recycling... Check the box specific time(s). and assign a time.

It might just be better to set the idle-time to "0" and set the recycle to say 3:15 am as an example.

Cheers,
Hades666

0
 
Brad HoweDevOps ManagerCommented:
UseAppKeepAlive is only a mojoportal config item.

To keep you app alive you can configure the app pools.

Idle-timeout
IIS Manager > Expand the tree control > application pools > right click on your application pool, select Advanced Settings > Process Model. Set Idle Time-out (minutes) to "0". The default is 20 minutes.

Disable recycle options
IIS Manager > Expand the tree control > application pools > right click on your application pool, select Advanced Settings > Select Recycling. Set Regular Time Interval to "0". The default is 1740 minutes (29 hours).

If you have other apps/websites in teh same pool, i would advised spliting them up. If this is not possible, you can always build a simple service.   If you have any sort of monitoring enabled, it should alway keep the workprocess awake. What i have done in the past is create a very simple Windows Service that makes an HTTP request to a site page (keepalive.aspx) every 3 minutes to keep it primed.

Hope it helps,
Hades666
0
 
Simon CrippsOwnerAuthor Commented:
Are there any detrimental effects of setting the idle time from 20 minutes to say 6 hours,
Likewise how will disableing the recycle affect my sites performance.

Thats for the responce
0
 
Simon CrippsOwnerAuthor Commented:
Great help many thanks
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.