许多 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 中的新应用程序池
启动 Internet 信息服务管理器。
展开本地计算机,右键单击“应用程序池”,指向“新建”,然后单击“应用程序池”。
在“添加新应用程序池”对话框中,键入描述性名称,例如:MSExchangeOutlookAnywhere,然后单击“将现有应用程序池作为模板”,单击“应用程序池名称”列表中的“默认应用程序池”,然后单击“确定”。
展开“网站”,然后展开 Rpc Web 应用程序所在的网站。例如,展开“默认网站”。右键单击“Rpc”,然后单击“属性”。
在“虚拟目录”选项卡上,单击“应用程序池”列表中的新应用程序池。例如,单击“MSExchangeOutlookAnywhere”。
单击“确定”。
重置 IIS。为此,请在命令提示符处运行 iisreset。
将 RPC over HTTP 组件移动到 IIS 7.0 中的新应用程序池
启动 Internet 信息服务管理器。
展开本地计算机,单击“应用程序池”,然后单击“添加应用程序池”。
在“名称”框中,键入描述性名称,例如:MSExchangeOutlookAnywhere,然后单击“确定”。
在“连接”窗格中,展开“站点”,然后展开 Rpc Web 应用程序所在的网站。例如,展开“默认网站”。右键单击“Rpc”,然后单击“属性”。
注意“高级设置”对话框中出现的任何设置。
在“常规”下,单击“默认应用程序池”旁边出现的省略号 (…) 按钮。
在“应用程序池”列表中,单击已创建的新应用程序池,然后单击“确定”两次。
重置 IIS。为此,请在命令提示符处运行 iisreset。
关闭 IIS 6.0 中的工作进程回收
启动 Internet 信息服务 (IIS) 管理器。
展开本地计算机,然后展开“应用程序池”,右键单击相应的应用程序池,例如:“默认应用程序池”或您已创建的新应用程序池,然后单击“属性”。
单击以清除“回收工作进程(分钟)”复选框,然后单击“确定”。
关闭 IIS 7.0 中的工作进程回收
启动 Internet 信息服务管理器。
展开本地计算机,然后单击“应用程序池”。
在“应用程序池”窗格中,单击相应的应用程序池,例如:“默认应用程序池”或您已创建的新应用程序池,然后单击“高级设置”。
在“回收”部分中,修改“定期时间间隔(分钟)”值。使用 0(零)替换默认值 1740。零值将关闭工作进程回收。
单击“确定”。
增加 IIS 6.0 中的队列长度
启动 Internet 信息服务 (IIS) 管理器。
展开本地计算机,然后展开“应用程序池”,右键单击相应的应用程序池,例如:“默认应用程序池”或您已创建的新应用程序池,然后单击“属性”。
单击“性能”选项卡,然后修改“请求队列限制”框中的值。使用 10000 替换默认值 1000。
单击“确定”。
增加 IIS 7.0 中的队列长度
启动 Internet 信息服务管理器。
展开本地计算机,然后单击“应用程序池”。
在“应用程序池”窗格中,单击相应的应用程序池,例如:“默认应用程序池”或您已创建的新应用程序池,然后单击“高级设置”。
在“常规”部分中,修改“队列长度”值。使用 10000 替换默认值 1000。
单击“确定”。
详细信息
有关 Outlook Anywhere 可伸缩性的详细信息,请参阅 White Paper:Outlook Anywhere Scalability with Outlook 2007, Outlook 2003, and Exchange 2007(英文网页)。