You can extend the timeout settings on an iMIS server to optimize it for testing and demo usage. Extending timeouts prevents problems that come from letting iMIS sit idle for long periods.
Note: Do not set excessive timeouts (especially the session timeout) on production sites: idle sessions sitting for long periods can exhaust the server’s memory.
Many apparent iMIS problems are caused by timeout settings, both default session timeouts in iMIS-related web.config files and timeout settings in ASP.NET itself.
- Timeouts defined in each application’s web.config file:
- The idle session timeout ends a user’s iMIS session after 20 minutes of inactivity.
- The idle authentication ticket timeout defaults to 30 minutes, unless the Remember Me option (a checkbox on the login screen) is enabled.
- Timeouts for the ASP.NET application pool:
- The Shutdown worker processes timeout kills idle processes after 20 minutes. If the iMIS server gets no request within 20 minutes, it restarts iMIS, and the application startup takes time.
- The Recycle worker processes timeout forces a complete recycle (restart) every 1740 minutes (29 hours), even for non-idle worker processes.
Warning!
Do not overdo the fix. Excessive timeouts worsen the performance and memory usage of your server, and disabling Application Pool recycling slows performance over time, as memory cannot be released by Task Manager’s w3wp.exe process, which is used by IIS to launch .NET application pool processes. Therefore, make changes carefully, and test their impacts.
Increasing session-specific timeouts
If Page Not Available errors or logon/password-related windows are displayed erroneously, increase the session-specific timeout in web.config files associated with iMIS.
Do the following to increase session-specific timeouts:
- On the iMIS server, open each iMIS-related web.config file for editing:
- iMIS default locations:
- C:\Program Files (x86)\ASI\iMIS\Net
- C:\AsiPlatform\Asi.Scheduler_[your instance]
- Locate the
<sessionState>
element and modify the timeout attribute, for example: <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;user id=sa;password="
cookieless="false" timeout="120" />
Note: For high traffic, it is recommended to set this value between 60 to 240 minutes. For low traffic, set between 720 to 1440 minutes.
- Repeat this process for each iMIS server.
Improving application pool timeouts
Do the following to improve application pool timeouts:
- Go to Start > Administrative Tools > Internet Information Services (IIS) Manager on the iMIS server.
- In the Connections pane, select Application Pools.
- In the Application Pools pane, select iMISapp AppPool.
- In the Actions pane, select Edit Application Pool > Recycling.
Note: Do not select Recycle.
- In the Recycling Conditions window, ensure all checkboxes are clear (unchecked).
- Click Next, then click Finish.
- In the Actions pane, select Edit Application Pool > Advanced Settings.
- In the Advanced Settings window, under Process Model, set Idle Time-out (minutes) to zero (0).
- Click OK.
- In the Connections pane, select Sites.
- Select Default Web Site.
- In the Actions pane, select Manage Web Site > Advanced Settings.
- In the Advanced Settings window, under Connection Limits, set Connection Time-out (seconds) to zero (0).
- Click OK.
- Restart IIS.