Skip to main content


 

Symptoms

 


SmartForms server becomes almost unresponsive due overload of IIS application pool. After manual recycling of the Smartforms application pool, everything works again properly.

Is it possible to set up application pool recycling in the work time (on smartforms and blackpearl app pool) without errors or other unwanted behavior for users (with their sessions, on the forms they already have opened, with attachements they attached or similar)?
 

 

Diagnoses

 


When you recycle an application pool by default IIS will create a new process (keeping the old one) to serve requests. Then it tries to move all requests on the new process. After a timeout the old process will be killed automatically. You usually recycle your application pool to get rid of leaked memory. You might have a problem in your application if this needs to be a regular operation, even though it is recommended to have a scheduled recycle from time to time irrespectively of your application behavior.
The description above applies to default recycle mode which is called "Overlapping Recycle" so with this mode recycle should not be harmful process bun nonetheless from K2 support prospective (the same applies to any app running on top of IIS) you should not fix issues by recycling your app too frequently - if you have to do this too often then there is some root cause which has to be addressed.

By default IIS application pools use Overlapping Recycle as well as have some default recycle interval set. So it is recommended to have an automatic recycle enabled once a day/in off-hours but it is not recommended to "fix" problems by introducing hourly recycles or something like this.

K2 has mature and solid codebase and there are really few instances if any when our code had memory leaks or other unpleasant issues which may manifest itself in IIS pool overload and make you thinking about frequent recycling "fix". From past support cases we mostly see that more often than not it is poor solution design/custom code or external systems unavailability/performance issues which are causing issues similar to those described above.

MSDN article which explains IIS recycle - IIS Process Recycling
 

 

Additional information:

 

Blog Post: Why is the IIS default app pool recycle set to 1740 minutes?

 

Blog Post: IIS’s Overlapping App Pools

 

 

 

Resolution 
IIS overlaps application pool when recycling so there usually isn’t any downtime during a recycle. However, in-memory information (session state, etc) is lost.

 

Doing recycle once a day is a recommended practice but in case you think you have a real issue that is being suppressed by recycling or application behaves in a way that makes frequent recycle operation necessity then you have to turn off the auto-recycling so that you can track down and resolve your real issue.

 

 



 
Be the first to reply!

Reply