Solution:
2. Setup a ping service which will act as the first request to reach the web site after a recycle
Method & Details:
1. IIS App Pools
IIS App Pool concept is a very useful thing in keeping web sites in same server seperate from eachother. App Pool recycling is also an important activity which cleans up left overs from your application runings.
But default IIS App Pool recycle options are not suitable for a highly responsive site. It can recycle
- Every n minutes
- After m requests
- At specific times of the day
- If consuming M amount of virtual or physical memory
- If idle for p mins
- If kernel request queue (where http requests are kept before dispatching to IIS) has more than x requests
2. Keep Alive Services
A Keep Alive Service will send a dummy request to your site just to make sure that it won't go to sleep (recycle). One other important attribute of a keep alive request is that it should not make the current logged in user count to go up. So typically Keep Alive services will send a request to a 'KeepAlive' web page of the site which is specifically made so that the user statistics are not screwed up. Following keep alive page will show the current time,
<html>
<head><meta http-equiv="refresh" content="300"></head>
<p>Current Time Is : </p><%=now%>
</html>
There are 2 kinds of Keep Alive services
- Web based services - siteuptime.com, host-tracker.com
- Standalone Applications - Siteup by Xequte

1 comments:
I think recycling cannot be disables for a reason :). It can be that Microsoft themselves not certain about how stable IIS is without recycling. My advice is let IIS to recycle and then find a method to load resources before user requests hit the site.
For example, you can set IIS to recycle at a specific time of the day and then schedule a simple console app on the same server to ping the site after a minute?
Post a Comment