How can ServiceDesk and Workflow cache times be increased?
What causes a Workflow project to recompile?
For example, some pages may load slowly but once cached, they load quickly. After time, the cache is cleared and the pages once again load slowly. Workflow projects can experience this too when they are later re-loaded later after being used earlier.
This behavior is working as designed and is controlled by ASP.NET/IIS.
By default, ASP.NET web pages and code files are compiled dynamically during the first request of the Workflow project. After the project has been compiled, the project files are cached and should return a quick response when the project is accessed by users.
When IIS has been reset, the Workflow project will recompile again during the first request of the project. You may also see the application recompile when a change is made to the Web.config, or other project config files in the published project directory. A recompile will also occur if a new library is added to the published project.
When the project has been complied, it will create a cache of the pages and files it needs to run. This cache can expire based on the Application Pool settings in IIS. The default configuration will expire the cache after 1740 minutes or 29 hours and will shutdown the worker process after 20 minutes. The worker process must be idle for 20 minutes before the worker process will shut down. By default, Workflow type projects will run the Check Timeouts and Executions every 60 seconds, and should not shut down the worker process, if you find the worker process being shut down, please verify this process is running in the background.
By increasing the times of the DefaultAppPoolProperties in IIS, this may help improve when users see the cached pages returning to a slower load time, and Workflow projects increasing when they need to be reset.
Update: ServiceDesk 7.1 uses IIS 7 to get to the settings right click on the application pool and chose Advanced Settings. The "Recycle worker processes (in minutes)" and "Shutdown worker processes after being Idle for (time in minutes)" are in IIS 7 "Regular Time Interval (minutes)" and "Idle Time out (minutes)"
Note: Microsoft set the default refresh times to 'among other things' clear memory. Depending one system usage and total memory even three days without a refresh will cause IIS instability.
Images of settings in IIS 6. Used by ServiceDesk 7.0.