RPC over HTTP 可伸缩性

 

上一次修改主题: 2006-04-27

RPC over HTTP 在 RPC 代理服务器上放置很轻的负载,应该不会对其性能产生负面影响。

若要验证生成的负载,可使用 Exchange Load Simulator (LoadSim) 2003 来模拟通过 RPC over HTTP 连接的客户端。有关如何使用 LoadSim 2003 的详细信息,请参阅 Microsoft Exchange Server 2003 Load Simulator (LoadSim)(英文)

与缓存模式中的 Microsoft® Office Outlook® 2003 结合使用时,RPC over HTTP 效果最佳。应始终在缓存模式中使用 RPC over HTTP 来执行以下任务:

  • 减少 Outlook 必须建立的与 Exchange 服务器的连接的数量。
  • 使客户端从 Internet 延迟隔离。

Outlook 通过使用 RPC over HTTP 建立的 HTTP 会话

对于每个 RPC 连接,Outlook 都会启动两个 HTTP 会话:一个会话用于传出数据,一个会话用于传入数据。如果 Outlook 显示到 Exchange 服务器的 Exchange 邮箱、公用文件夹和目录服务的五个连接,则实际上有十个 HTTP 会话。Internet 信息服务 (IIS) 应用程序池中的并发内核请求队列可能被填满。如果并发内核请求队列被填满,Outlook 客户端上的性能可能会受到负面影响。

以下示例显示填满 IIS 应用程序池中的并发内核请求队列是如何影响性能的。内核请求队列限制的默认值取决于用于启用 IIS 的 Windows Server 2003 版本。如果使用 Microsoft Windows Server™ 2003 安装 IIS,则默认内核请求队列限制为 4000。如果使用 Windows Server 2003 Service Pack 1 (SP1) 或更高版安装 IIS,则默认内核请求队列限制为 1000。在此示例中,每个 Outlook 用户平均有五个 RPC 连接。这些连接可以是到 Exchange 邮箱、公用文件夹或目录服务的连接。如果有五个 Outlook RPC 连接,则每个 Outlook 用户有十个 HTTP 会话。因此,各有十个 HTTP 会话的 400 个并发用户就会填满队列。再添加更多的用户便会影响性能,因为 IIS 会强行关闭 Outlook 会话。Outlook 不得不重新打开 IIS 关闭的会话。

有关如何查看 Outlook 当前已建立的连接的详细信息,请参阅如何查看 Outlook 中已建立的连接

当您增加内核请求队列限制的值时,便也稍微增加了 RPC 代理服务器上的内存消耗。Windows Server 2003 Service Pack 1 (SP1) 中有一些改进,可降低用于增加的内核请求的内存开销。如果要增加内核请求队列限制的大小,则必须将 RPC 代理服务器上的限制增加到大约十倍的您期望在使用 RPC over HTTP 的服务器上支持的并发 Outlook 用户的数量。

有关如何增加内核请求队列限制的大小的详细信息,请参阅如何增加内核请求队列限制的大小

RPC over HTTP 可伸缩性限制

32 位版本的 Windows Server 2003 SP1 能够基于内核内存消耗(特别是非页面缓冲池内存)可靠支持的 HTTPS 连接数是有限的。在没有配置 /3GB boot.ini 开关的服务器上,此限制大约是 17,000 到 20,000 个连接。

note注意:
Exchange Server 2003 前端服务器最好是在没有 /3GB 的情况下运行。

根据上面提供的 Outlook 和 HTTPS 连接信息(使用 10 个 HTTPS 连接的 5 个 Outlook 连接),专用 Exchange 2003 前端 RPC/HTTPS 服务器可以可靠地为 1700 到 2000 个左右通过 RPC/HTTPS 连接的活动 Outlook 2003 客户端提供服务。有关 Exchange 2003 和内核内存的详细信息,请参阅 Troubleshooting Exchange Server 2003 Performance(英文)

网络负载平衡

可使用网络负载平衡 (NLB) 实现冗余和可伸缩性。NLB 在一组服务器上分发客户端请求。Exchange Server 2003 支持在属于 NLB 群集的前端服务器上使用 RPC over HTTP。

下表列出了 NLB 支持的客户端关联的类型。

客户端关联类型 说明

来自同一客户端 IP 地址的多个连接转到多台 NLB 群集主机。

单个 IP

来自同一客户端 IP 地址的所有连接转到同一台 NLB 群集主机。

C 类

来自同一 TCP/IP C 类地址的所有连接转到同一台 NLB 群集主机。

如果在前端服务器上使用 NLB,应使用“单个 IP”关联或“C 类”关联以降低协商 SSL 会话的开销。

note注意:
使用基于窗体的身份验证时,Outlook Web Access 必须使用“单个 IP”关联或“C 类”关联。

有关 NLB 的详细信息,请参阅 Network Load Balancing Technical Reference(英文)