许多 Outlook Anywhere 用户同时断续无法连接到 Exchange 邮箱

 

上一次修改主题: 2008-12-03

本主题介绍如何使用 Internet 信息服务 (IIS) 管理单元解决您在许多用户使用 Microsoft Exchange Server 2007 Outlook Anywhere 功能访问邮箱的组织中可能会遇到的问题。

使用 Exchange 2007 客户端访问服务器用于 RPC over HTTP 连接(例如,与 Outlook Anywhere 连接)时,您可能会遇到以下症状:

  • 每 29 小时,Outlook Anywhere 用户可能无法连接到 Exchange。在这种情况下,系统提示用户输入凭据重新连接到邮箱。

  • 如果您有许多 Outlook Anywhere 用户,则若干并发的重新连接尝试可能会使服务器崩溃。

原因

RPC over HTTP 在 IIS 的默认应用程序池 (DefaultAppPool) 中运行。默认情况下,此应用程序池已配置为每 1,740 分钟(29 小时)回收一次工作进程。在回收进程的过程中,IIS 允许活动的工作线程延长 90 秒完成服务请求,然后再终止活动线程。

由于 RPC over HTTP 使用长时间运行的连接,因此,这些连接可能无法在延长指定给工作线程的 90 秒内完成。在这种情况下,连接将会中断。因此,Outlook 无法连接到 IIS。出现此操作时,Outlook 立即尝试重新连接。如果许多 Outlook 客户端同时断开连接,则大量的并发重新连接操作可能会使服务器崩溃。

解决方法

要解决此问题,请使用 IIS 管理单元配置以下项:

  • 如果可以,请将 RPC over HTTP 组件 (rpcproxy) 移动到其自己的应用程序池中。

  • 在配置 RPC over HTTP 的应用程序池中,关闭工作进程回收。

  • 将 HTTP.sys 队列限制从默认值 1,000 增加到 10,000。

步骤

将 RPC over HTTP 组件移动到 IIS 6.0 中的新应用程序池

  1. 启动 Internet 信息服务管理器。

  2. 展开本地计算机,右键单击“应用程序池”,指向“新建”,然后单击“应用程序池”。

  3. 在“添加新应用程序池”对话框中,键入描述性名称,例如:MSExchangeOutlookAnywhere,然后单击“将现有应用程序池作为模板”,单击“应用程序池名称”列表中的“默认应用程序池”,然后单击“确定”。

  4. 展开“网站”,然后展开 Rpc Web 应用程序所在的网站。例如,展开“默认网站”。右键单击“Rpc”,然后单击“属性”。

  5. 在“虚拟目录”选项卡上,单击“应用程序池”列表中的新应用程序池。例如,单击“MSExchangeOutlookAnywhere”。

  6. 单击“确定”。

  7. 重置 IIS。为此,请在命令提示符处运行 iisreset

将 RPC over HTTP 组件移动到 IIS 7.0 中的新应用程序池

  1. 启动 Internet 信息服务管理器。

  2. 展开本地计算机,单击“应用程序池”,然后单击“添加应用程序池”。

  3. 在“名称”框中,键入描述性名称,例如:MSExchangeOutlookAnywhere,然后单击“确定”。

  4. 在“连接”窗格中,展开“站点”,然后展开 Rpc Web 应用程序所在的网站。例如,展开“默认网站”。右键单击“Rpc”,然后单击“属性”。

  5. 注意“高级设置”对话框中出现的任何设置。

  6. 在“常规”下,单击“默认应用程序池”旁边出现的省略号 () 按钮。

  7. 在“应用程序池”列表中,单击已创建的新应用程序池,然后单击“确定”两次。

  8. 重置 IIS。为此,请在命令提示符处运行 iisreset

关闭 IIS 6.0 中的工作进程回收

  1. 启动 Internet 信息服务 (IIS) 管理器。

  2. 展开本地计算机,然后展开“应用程序池”,右键单击相应的应用程序池,例如:“默认应用程序池”或您已创建的新应用程序池,然后单击“属性”。

  3. 单击以清除“回收工作进程(分钟)”复选框,然后单击“确定”。

关闭 IIS 7.0 中的工作进程回收

  1. 启动 Internet 信息服务管理器。

  2. 展开本地计算机,然后单击“应用程序池”。

  3. 在“应用程序池”窗格中,单击相应的应用程序池,例如:“默认应用程序池”或您已创建的新应用程序池,然后单击“高级设置”。

  4. 在“回收”部分中,修改“定期时间间隔(分钟)”值。使用 0(零)替换默认值 1740。零值将关闭工作进程回收。

  5. 单击“确定”。

增加 IIS 6.0 中的队列长度

  1. 启动 Internet 信息服务 (IIS) 管理器。

  2. 展开本地计算机,然后展开“应用程序池”,右键单击相应的应用程序池,例如:“默认应用程序池”或您已创建的新应用程序池,然后单击“属性”。

  3. 单击“性能”选项卡,然后修改“请求队列限制”框中的值。使用 10000 替换默认值 1000

  4. 单击“确定”。

增加 IIS 7.0 中的队列长度

  1. 启动 Internet 信息服务管理器。

  2. 展开本地计算机,然后单击“应用程序池”。

  3. 在“应用程序池”窗格中,单击相应的应用程序池,例如:“默认应用程序池”或您已创建的新应用程序池,然后单击“高级设置”。

  4. 在“常规”部分中,修改“队列长度”值。使用 10000 替换默认值 1000

  5. 单击“确定”。

详细信息

有关 Outlook Anywhere 可伸缩性的详细信息,请参阅 White Paper:Outlook Anywhere Scalability with Outlook 2007, Outlook 2003, and Exchange 2007(英文网页)。