在正向代理中,客户端 Web 浏览器知道代理的存在。例如在 Internet Explorer 中,这是通过在 Internet 选项中设置代理服务器或自动检测设置来实现的。当 Web 客户端知道代理时,它们直接打开到代理的连接,并向代理发送针对 Internet 上的位置的请求。(例如,Internet Explorer 在发送 HTTP 1.1 请求时,将会打开两个到代理的连接。)当 ISA Server 接收到针对某服务器的请求时,它会打开一个到该服务器的连接,并将该连接再次用于从其他客户端向相同服务器发出的其他请求。这样就形成了一个星形连接拓扑。
这种方案的性能优势在于,它允许高度重用连接,从而最小化打开的连接的数量以及连接速率。
透明代理
在透明代理中,客户端 Web 浏览器不知道代理的存在。它们以为所发送的信息是直接路由到 Internet 上的服务器的,中间没有代理。明确地说,Web 客户端通过打开与目标 Web 站点的连接来直接访问 Internet 服务器。这样导致了连接速率显著提升,因为在用户请求某个新的服务器上的页面之后,Web 浏览器将关闭它与当前 Web 服务器的连接,然后打开与新的 Web 服务器的新的连接。这是透明代理的典型特征,并对 ISA Server 性能产生影响。通常,透明代理中的客户端连接速率大约要比正向代理中的客户端连接速率高三倍,从而每请求所消耗的处理器周期大约是后者的两倍。
透明代理是很流行的方案,因为它很容易部署,对于拥有异类客户群的 Internet 服务提供商(ISP)尤其如此。由于这个原因,此方案能够显著提高性能。
一般情况下,与正向代理相比,用于透明代理的 ISA Server 需要两倍的 CPU 资源量。
反向代理
反向代理或 Web 发布的工作方式与正向代理相同,只不过方向是入站而不是出站。在该方案中,ISA Server 充当由 Internet 上的客户端访问的 Web 站点。客户端不知道它们正在访问的 Web 站点其实是一个代理。与正向代理一样,由于高效的连接重用,连接数量和连接速率都保持在最低水平。反向代理用于 Web 服务器的安全发布,比如:Internet 信息服务 (IIS)、Outlook Web Access、SharePoint Portal Server 等等。
从性能的角度看,反向代理具有类似正向代理的特征。主要区别在于,从 ISA Server 流向 Internet 用户的大多数流量需要大量的 Internet 连接。正如下一小节将要解释的那样,当启用了 Web 缓存时,正向代理和反向代理具有不同的性能影响。
Web 缓存
Web 缓存是在所有 Web 代理方案中用于改善 ISA Server 性能的特性。但是在对出站方案(正向和透明代理)和入站反向代理方案启用缓存时,对性能改善的影响有所不同。
正向(透明)和反向缓存之间的主要区别在于缓存的用途。正向(和透明)缓存旨在通过把频繁访问的可缓存内容放在靠近用户的地方,从而节省带宽成本和缩短响应时间。反向缓存用于卸载后端 Web 服务器的负荷。反向缓存不会缩短响应时间,反而会增加没有缓存的对象的延迟。
就节省而言,正向缓存节省对 Internet 上的 Web 服务器的访问尝试,即从缓存中满足那些访问尝试,从而节省所需的 Internet 链路带宽。例如,如果缓存字节命中率为 20%,内部链路上的峰值吞吐率为 10 Mbps,Internet 链路上的峰值吞吐率将仅为 8 Mbps。
反向缓存有助于 Web 服务器的合并,从而同时降低硬件和管理成本。例如,如果 80% 的 Web 站点数据是静态和可缓存的,动态对象需要的 CPU 周期是静态对象的四倍,那么利用反向代理将把 Web 服务器的数量减少 100%。
注意:假设静态对象需要 X 个 CPU 周期,则动态对象需要 4X 个周期。如果 100 个请求中有 80 个是静态的,100 个请求所需要的周期总数为 80X + (100-80)4X = 160X,用于静态内容的请求的 50% 将由 ISA Server 缓存来满足。
正向缓存和反向缓存之间的另一个区别是缓存的工作集的数量。在反向缓存中,客户端空间是无限的,但是服务器空间仅包含几个 Web 站点和相对较少的对象。在大多数情况下,ISA Server 可设计为具有合理的内存和磁盘空间来在缓存中存储所有驻留的可缓存内容,以便仅把动态的不可缓存内容指向驻留的 Web 服务器。更为可取的是,所有缓存都可以保留在内存中,并从内存中提供。
在正向缓存中,服务器空间包含无限个 Web 站点和 Web 对象,因此缓存工作集是无限的。为了容纳这样大的工作集,必须定义很大的磁盘缓存。接下来的几个小节将描述如何规划和优化用于正向和反向缓存的 Web 缓存容量。
监视内存使用并相应地更改内存缓存大小。信息性性能计数器包括: ISA Server CacheMemory Cache Allocated Space (KB) ISA Server CacheMemory URL Retrieve Rate (URL/sec) ISA Server CacheMemory Usage Ratio Percent (%) ISA Server CacheURLs in Cache MemoryPages/sec MemoryPool Nonpaged Bytes MemoryPool Paged Bytes Process(WSPSRV)Working Set TCPEstablished Connections