Topic Last Modified: 2008-12-03
This topic explains how to use the Internet Information Services (IIS) snap-in to resolve an issue that you may experience in an organization in which many users use the Microsoft Exchange Server 2007 Outlook Anywhere feature to access their mailboxes.
When you use Exchange 2007 Client Access servers for RPC over HTTP connections, such as with Outlook Anywhere, you may experience the following symptoms:
- Every 29 hours, Outlook Anywhere users may lose their
connection with Exchange. In this scenario, users are prompted to
enter their credentials to reconnect to their mailboxes.
- If you have many Outlook Anywhere users, the numerous
concurrent reconnection attempts that occur may overwhelm the
server.
Cause
RPC over HTTP runs in the Default Application Pool (DefaultAppPool) in IIS. By default, this application pool is configured to recycle worker processes every 1,740 minutes (29 hours). During the recycling process, IIS allows active worker threads an additional 90 seconds to finish servicing requests before IIS terminates the active threads.
Because RPC over HTTP uses long-running connections, the connections may not finish within the additional 90 seconds that were given to the worker threads. In this scenario, the connections are terminated. Therefore, Outlook loses connectivity with IIS. When this action occurs, Outlook immediately tries to reconnect. If many Outlook clients are disconnected at the same time, the large number of concurrent reconnections may overwhelm the server.
Resolution
To resolve this issue, use the IIS snap-in to configure the following items:
- If practical, move the RPC over HTTP component (rpcproxy) to
its own application pool.
- Turn off worker process recycling on the application pool in
which RPC over HTTP is configured.
- Increase the HTTP.sys queue limit from the default value of
1,000 to 10,000.
Procedures
-
Start Internet Information Services Manager.
-
Expand the local computer, right-click Application Pools, point to New, and then click Application Pool.
-
In the Add New Application Pool dialog box, type a descriptive name, such as MSExchangeOutlookAnywhere, click Use existing application pool as template, click DefaultAppPool in the Application pool name list, and then click OK.
-
Expand Web Sites, expand the Web site in which the Rpc Web application is located. For example, expand Default Web Site. Right-click Rpc, and then click Properties.
-
On the Virtual Directory tab, click the new application pool in the Application pool list. For example, click MSExchangeOutlookAnywhere.
-
Click OK.
-
Reset IIS. To do this, run iisreset at a command prompt.
-
Start Internet Information Services Manager.
-
Expand the local computer, click Application Pools, and then click Add Application Pool.
-
In the Name box, type a descriptive name, such as MSExchangeOutlookAnywhere, and then click OK.
-
In the Connections pane, expand Sites, expand the Web site in which the Rpc Web application is located. For example, expand Default Web Site. Right-click Rpc, and then click Properties.
-
Note any settings that appear in the Advanced Settings dialog box.
-
Under General, click the ellipsis (…) button that appears next to DefaultAppPool.
-
In the Application pool list, click the new application pool that you created, and then click OK two times.
-
Reset IIS. To do this, run iisreset from a command prompt.
-
Start Internet Information Services (IIS) Manager.
-
Expand the local computer, expand Application Pools, right-click the appropriate application pool, such as DefaultAppPool or the new application pool that you created, and then click Properties.
-
Click to clear the Recycle worker processes (in minutes) check box, and then click OK.
-
Start Internet Information Services Manager.
-
Expand the local computer, and then click Application Pools.
-
In the Application Pools pane, click the appropriate application pool, such as DefaultAppPool or the new application pool that you created, and then click Advanced Settings.
-
In the Recycling section, modify the Regular Time Interval (minutes) value. Replace the default value of 1740 with 0 (zero). A value of zero turns off worker process recycling.
-
Click OK.
-
Start Internet Information Services (IIS) Manager.
-
Expand the local computer, expand Application Pools, right-click the appropriate application pool, such as DefaultAppPool or the new application pool that you created, and then click Properties.
-
Click the Performance tab, and then modify the value in the Request queue limit box. Replace the default value of 1000 with 10000.
-
Click OK.
-
Start Internet Information Services Manager.
-
Expand the local computer, and then click Application Pools.
-
In the Application Pools pane, click the appropriate application pool such as DefaultAppPool or the new application pool that you created, and then click Advanced Settings.
-
In the General section, modify the Queue Length value. Replace the default value of 1000 with 10000.
-
Click OK.
For More Information
For more information about Outlook Anywhere scalability, see White Paper: Outlook Anywhere Scalability with Outlook 2007, Outlook 2003, and Exchange 2007.