In my experience working with IIS, when a worker process is recycled, the next request to "activate" the new process has to wait whilst the process performs it's one-time startup. This wait can be particularly bad when programs are doing quite large application startups.
Is there a way through IIS to keep a minimum number of worker processes in a "ready" state, so they will serve requests immediately? I still want worker processes to be recycled, but for them not to serve requests until they're in a "ready" state, so users don't feel the startup cost.
Best Answer
In 7.5 (Windows Server 2008 R2) you can use the startMode property to ask the App Pool to boot even without a request coming in. By default, they're still demand-started (at least, so says the documentation), but adding this attribute to an applicationPool should allow it to noodle around happily, even while idle.
http://msdn.microsoft.com/en-us/library/ms689467(v=VS.90).aspx
I agree with rfair01 though, in that it's probably a better idea not to have them recycle in the first place; this isn't always feasible, though.