性能和安全性

在性能与用户对于 Web 应用程序的安全性的顾虑之间找到平衡点是您面临的最重要问题之一,特别是在运行电子商务网站的情况下。安全的 Web 通信比不安全的 Web 通信需要更多的资源,因此了解何时应使用各种安全技术[如安全套接字层 (SSL) 协议、证书或各种 Windows 身份验证方法]是很重要的。例如,主页或搜索结果页面很有可能不需要通过 SSL 运行。然而,您需要确保结帐或购物页面是安全的。

如果使用 SSL,要意识到,建立初始连接需要的时间比使用 SSL 会话缓存中的安全信息重新进行连接需要的时间长五倍。在 Microsoft Windows 2000 和更高版本中,SSL 会话缓存的默认超时已经更改为五分钟。在此数据从缓存中删除或“清空”之后,客户端和服务器必须建立全新的连接。

如果您计划将支持较长的 SSL 会话,请考虑使用 ServerCacheTime 注册表设置延长超时设置。如果您预计会有成千上万的用户使用 SSL 连接到您的站点,则更安全的方法是估计 SSL 会话会持续多长时间,然后将 ServerCacheTime 参数设置得比估计的值稍长一些。请不要将超时值设置的比此值长太多,因为这样服务器可能会将陈旧的数据保留在缓存中。此外,要确保启用保持 HTTP 连接(默认情况下是启用的)。SSL 会话在与“保持 HTTP 连接”一起使用时不会过期,除非浏览器明确地关闭连接。

Microsoft Windows Server 2003 家族和 Internet 信息服务 (IIS) 6.0 安全服务已集成到许多操作系统服务中。这意味着无法从这些服务的其他方面单独监视安全功能。相反,测量安全开销的最常见方法是,在使用安全功能和不使用安全功能的情况下进行测试,以便比较两种情况下的服务器性能。测试应该在使用固定工作负载和固定服务器配置的情况下进行,这样,安全功能就是唯一的变量。在测试过程中,请测量以下计数器:

  1. Processor Activity and the Processor Queue:以下安全功能需要进行大量的处理,因此应在使用这些安全功能与性能目标之间找到平衡点: 您可能会在特权模式和用户模式下看到增多的处理器活动,并且也会看到上下文切换和中断的频率增多。如果服务器中的处理器无法处理大量的负载,则很可能会产生队列。使用自定义硬件(如用于进行加密的加密加速器)可能会有所帮助。当您通过使用证书向导创建证书时,您可以选择使用加密加速器的加密服务提供程序。请注意,如果使用了 SSL 协议,Lsass.exe 可能会占用大量的 CPU 时间,因为 SSL 处理是在 Lsass.exe 进程中进行的。
  2. Memory:安全性要求系统必须存储和检索更多的用户信息。
  3. Network Traffic:您还可能会看到 IIS 服务器和用于对登录密码进行身份验证和验证 IP 地址的域控制器之间的通信量变大。
  4. Latency and Delays:由于复杂的安全功能(如 SSL)产生的最明显的性能下降是加密与解密(这两个过程都使用大量的处理器周期)所占用的时间和资源。从使用 SSL 协议的服务器中下载文件会比从不使用 SSL 的服务器中下载文件慢 10 到 100 倍。

注意 注意 如果服务器既运行 IIS 又作为域控制器,那么域服务所消耗的处理器时间、内存、网络和磁盘活动的比例可能会大大地提高。增多的活动足以阻止 IIS 服务有效地运行。强烈建议您不要在域控制器上运行通信量很高的 Web 服务器。

相关主题

© 1997-2003 Microsoft Corporation。保留所有权利