编者注:为了从本文描述的性能提高中受益,我们建议您升级到 Lotus Notes/Domino 6.5.4。不过,对于那些签定了支持合约并且需要 Domino Web Access 6.5.3 hotfix 的客户,请与 IBM Lotus Support 联系来请求获得它。]IBM Lotus Domino Web Access (DWA) 是 IBM 用来访问基于 Domino 的邮件文件的主要 Web 客户机,它通过使用动态 HTML (DHTML) 为 Microsoft Internet Explorer 和 Mozilla 浏览器提供了丰富的用户体验。作为一个 DHTML html' target='_blank'>应用程序,Domino Web Access 客户机的性能受到服务器性能、网络性能和客户机配置的制约。将使用 Domino Web Access 6.5.3 hotfix (也包含在DWA 6.5.4 及其更高版本中)与使用不带 hotfix 的 DWA 6.5.3 的情况进行比较,Domino Web Access 将客户机的响应时间提高了 30% 到 40%(在低端机器上最为显着)。除了 hotfix 之外,还有其他一些管理员和用户可以用来提高性能的方法。但某一领域的性能提高可能会对另一领域产生意料不到的影响。为了作出正确的决策,您需要了解您可以进行的选择,以及您的决策可能带来的影响。本文将展示 Domino Web Access 6.5.3 hotfix 所带来的性能影响。还将描述管理员和用户可以用来提高性能的一些设置,以及使用这些设置带来的预期结果。Domino Web Access 的要求Domino Web Access 用户访问其邮件文件的基本要求是: 用户必须有一个 Domino Web Access 邮件模板 (INOTESx.NTF)。推荐使用的模板是 Domino Web Access 6 (INOTES6.NTF)。 HTTP 服务器(Domino Web 服务器)任务必须在邮件文件所在的服务器上运行。 注意,用户可以用 INOTES6.NTF 替换其邮件文件的设计。在完成替换之后,他们可以通过 Web 浏览器访问其邮件文件,或者继续使用 Notes 客户机访问其邮件文件,不会损失任何功能。Domino Web Access 的工作原理Domino Web Access 使用以下这些组件: Domino Web 服务器 用户的浏览器 Internet 口令 Domino Web 服务器存储用户的邮件数据库,该数据库中包含一些将显示的个人数据,比如消息、日历条目和视图等。用来显示该数据(HTML 和 JavaScript)的逻辑和表单是在一个公共表单数据库 (FORMS6.NSF) 以及 Web 服务器代码自身中维护的。所有用户都可以共享这个公共表单数据库和服务器代码。当 Web 服务器接收到 Domino Web Access HTTP 请求时,将从公共表单数据库 (FORMS6.NSF) 中加载适当的表单,并使用来自用户邮件数据库的数据生成 HTTP 响应(如果有必要的话)。这些响应还可以拥有对其他元素的外部引用,这些元素包括样式表、脚本模块和图像。当 Web 浏览器接收响应时,它会通过加载 HTML 和所有嵌入式脚本引用来呈现页面。它还会触发额外请求来加载外部引用。许多外部引用是一些不会发生更改的 UI 设计元素。这些元素存储在浏览器的文件系统缓存中,因此,浏览器只需要通过网络下载一次这些元素即可。当浏览器需要重新加载这些元素时,它只需从自己的缓存中抓取这些元素的副本即可。一些机密内容,比如邮件消息的正文,是由服务器标记的,所以它们没有被缓存。 性能因素对于任何 Web 应用程序,用户响应时间都取决于以下因素的综合: 客户机器的配置。 将请求从浏览器发送到 Web 服务器时使用的网络传输时间。 Web 服务器处理请求所花费的时间。 将响应从 Web 服务器发送到浏览器时使用的网络传输时间。 浏览器打开和处理响应所花费的时间。 在浏览器中呈现一个页面所需要的请求数量。 客户机器的配置随着每个后续版本的发行,Domino Web Access 也在不断成长,并添加了一些新特性以及使用 JavaScript 技术创建的大量用户界面。同时,随着该产品的增长,客户机配置建议也在增加,以便支持所有这些特性。Domino Web Access 在低端机器上运行时不会出错,但这些机器上的性能可能无法提供满足您的消息传递解决方案所需要的性能级别。因此,就有了一个最低限度的客户机配置以及一个推荐的客户机配置。最低限度的客户机配置 对于版本 6.5.3,推荐的最低限度的 Windows 客户机配置是 Pentium III、800 MHz、256 MB 系统。对于版本 6.5.3 性能 hotfix,Domino Web Access 可以适应的最低限度客户机配置是 400 MHz 和 128 MB RAM 系统。推荐的最低限度的 Linux 客户机配置是 Pentium III、500 MHz、192 MB 系统。 192 MB推荐的客户机配置 对 Internet Explorer 6.0 和 Mozilla 上的 Domino Web Access 的推荐机器配置是 Pentium IV、1 GHz、512 MB 系统。Web 服务器配置尽管 Web 服务器配置是对 Domino Web Access 性能造成影响的一个因素,但配置问题还与可伸缩性、用户数量和网速有关。这些问题并不是特定于 Domino Web Access 的。您可以从几篇关于服务器可伸缩性和性能的文章中查找关于如何从 Web 服务器配置中获得更多内容的信息,这些文章可以从 Performance page on developerWorks: Lotus 中获得。 测试为了测试性能,我们将使用 Lotus Domino 6.5.3 和安装了性能 hotfix 的 Lotus Domino 6.5.3 在 Internet Explorer 6.0 SP1 on Windows 2000 和 Mozilla 1.7 on SuSE Linux 上都进行 16 项最常见操作的测试。这些测试也是使用不同的客户机器配置执行的。实际生产响应时间将根据机器、内存量、网络负荷和速度、Web 服务器负荷和其他应用程序消耗的处理时间而有所不同。测试方法 用来测量用户客户机响应时间的测试方法是为了模仿典型用户使用 Domino Web Access 的方式而设计的。客户端响应时间是使用计时表测量的。响应时间是用户发起一个给定操作到浏览器呈现出某个页面所需的总时间。 所有性能测试都由只包括 Domino 服务器和客户机器的网络上的一名用户执行的。这样做是为了努力减少网络负荷作为性能因素所带来的影响。此外,测试是使用 HTTP(而不是 HTTPS)执行的,没有启用 Lotus Instant Messaging 特性。响应时间在启用和不启用 GZIP 的情况下都可以测量。(关于 GZIP 的其他信息,请参阅本文后面关于 GZIP 压缩的那一部分。)在测试之前,将清除浏览器的 Web 页面缓存。所有 16 项操作都被一次运行,以填充服务器和浏览器缓存。这样做是为了更近似地模拟典型用户使用 Domino Web Access 的方式。正如前面所描述的,在第一次执行某个操作时,Domino Web Access 将下载 JavaScript 库,然后由浏览器缓存这些库。缓存代码位于缓存中,即使在关闭浏览器之后,或者在重启系统之后,也可以重用它们。因此,在第二次执行该操作时,浏览器会使用 JavaScript 的缓存版。每个操作都被执行了 5 次。响应时间是根据这些时间的平均值计算的。被测量的 16 项常见操作是: 打开 One Day 视图(带有 7 个日历条目)。 打开 One Week 视图(带有 22 个日历条目)。 打开 One Month 视图(带有 22 个日历条目 )。 打开 Inbox 视图(带有 100 条邮件消息)。 打开一条新的消息。 根据 Who Column 对 Inbox 进行归类。 向某人发送一条消息。 打开一条消息(23 KB)。 发送一个邀请。 创建一个没有历史记录的答复。 向三个人发送一个答复。 向某个人发送一条消息,该消息带有一个 70 KB 的附件。 向某个人发送一条消息,该消息带有一个 1 KB 的附件。 打开一个新的 Calendar 条目。 从 Inbox 中删除一条消息。 将一条消息从 Inbox 移动到一个文件夹中。 机器类型的影响尽管带有 hotfix 的 Domino Web Access 可以预期地在低端机器上执行,但无可否认的是,更新、更强大的机器会带来更好的性能。尽管在低端机器上使用 GZIP 会导致性能稍微下降,但对于更高端的 3 GHz 机器而言,此影响可以忽略不计。以下图表显示了带有 hotfix 的 DWA 6.5.3,在启用和不启用 GZIP 的情况下使用了轻量级 UI 性能增强。(注意:轻量级 UI 是标准 DWA UI 的缩减版,对于版本 6.5.3 hotfix,它的使用是随意的。有关的更多信息,请参阅本文后面部分的“轻量级用户界面”一节。) 图 1. 受 Internet Explorer 上的机器类型影响时的平均响应时间 点击查看大图
图 2. 受 Mozilla 上的机器类型影响时的平均响应时间
比较 6.5.3 和 6.5.3 以及 hotfix 的性能结果为了在大多数极端情况下测试 DWA 6.5.3 hotfix 的性能,要在一些最低推荐机器上进行测量。使用带有标准 UI 的 DWA 6.5.3 中的响应时间作为基础,我们将使用标准 UI 的带有 hotfix 的 DWA 6.5.3 响应时间与使用轻量级 UI 的带有 hotfix 的 DWA 6.5.3 响应时间进行比较。Mozilla 1.7 中的响应时间在使用标准用户界面时提高了 41%,在使用轻量级用户界面时提高了 44%。Internet Explorer 中的响应时间在使用标准用户界面时提高了 42%,在使用轻量级用户界面时提高了 48%。关于轻量级用户界面的更多信息,请参阅本文后面部分的“轻量级用户界面”一节。以下是在 400 MHz、128 MB 的客户机器上使用装有 Internet Explorer 6.0 SP 4 的 Microsoft Windows 2000 所获得的结果,以及在 500 MHz、192 MB 的客户机器上使用装有 Mozilla 1.7 浏览器的 SuSE Linux 所获得的结果。响应时间是以秒为单位进行测量的 线路速度如何影响性能如果更好的机器等于更好的性能是真的,那么同一说法无疑对网速也是成立的。如下表所示,网速慢可能会影响性能。管理员可以用来提高较慢网络的性能的一个方法是使用 GZIP 压缩。GZIP 是为了通过压缩数据提高较慢网络的速度而专门设计的,GZIP 对高速网络或封闭式网络的影响很小。此外,因为浏览器必须解压缩接收的数据,所以 GZIP 压缩可能会对较慢的机器(600 GHz 或更低)产生负面影响。如果有一个包括低端机器和低速网络的环境,那么使用 GZIP 可能会牺牲性能。网络时间改善了,但是客户机器上的响应时间在某些情况下可能会更慢。关于 GZIP 的更多信息,请参阅本文后面部分的“GZIP 压缩”一节。 图3. 受线路速度影响时的平均响应时间
提高终端用户性能的方法除了使用 Domino Web Access 6.5.3 hotfix 实现的性能提高之外,还有其他许多设置,管理员和用户还可以使用这些设置从 Domino Web Access 性能中获得最大的收益。管理员可以为图标创建 Web Site Rule。他们还可以启用或禁用 GZIP 压缩,并设置缓存清除的级别。通过使用 Notes.ini 设置,管理员还可以全局地应用轻量级用户界面,或重用子窗口特性。用户还可以设置 Domino Web Access 参数选择来禁用拖放和就地编辑(in-place editing)功能,而且还可以选择重用子窗口(如果管理员无法全局启用该特性的话)。此外,还有用户可以设置的一些推荐的 Web 浏览器设置。要想快速查看日程安排,则可以使用 Summary Calendar 视图。用于图标的 Web Site Rule为了确保图标不被用户重复地检索,可以创建一个 Web Site Rule 文档。并且可以在使用 Web Site 文档配置宿主在 Domino 服务器上的 Web 站点时创建 Web Site Rule 文档。通过选择 HTTP 响应主题选项作为规则的类型,并指定它在传入的 URL 中包含字符串 /icons/* 时返回一个使用了 364 天的 Expires 标题,您可以为图标创建一个 Web Site Rule 文档。 图 4 显示了用于图标的 Web Site Rule 文档的一个示例。关于 Web Site Rule 文档的完整解释,请参阅关于 Web Servers in the Domino Administrator help 6.5 及其更高版本的那一部分。 图 4. Web Site Rule 文档的设置 GZIP 压缩在开始使用 Domino Server 6.5 时,可以使用 GZIP 压缩来压缩发送到浏览器的响应。GZIP 在网络连接慢的情况下最有用,在这种情况下,数据传输耗用了用户等待将显示的页面所花费的大部分时间。不过,因为浏览器必须解压缩接收的数据,所以 GZIP 压缩在较慢的机器(600 MHz 或更低)上可能会对性能产生负面影响,因此,在判定是否使用它的时候,要权衡利弊。在默认情况下,GZIP 是启用的,但也可以通过以下 Notes.ini 设置来禁用它:iNotes_wa_GZIP_Disable=1 禁用该设置控制了针对整个服务器的响应。但是,如果您有一个既包括高端机器又包括低端机器的环境,那么使用低端机器的个别用户可以通过其浏览器设置来禁用 GZIP 压缩。在 Internet Explorer 中,可以通过选择 Tools - Internet Options 来禁用它。在 Advanced tab of the Internet Options 对话框中,请选择 HTTP 1.1 Settings 选项。在 Mozilla 中,可以在 Preferences - Advanced - HTTP Networking 对话框中找到用于您的浏览器的响应设置。注意:禁用 HTTP 1.1 可能会带来比禁用 GZIP 更多的衍生物。浏览器缓存管理正如前面所描述的,在浏览器的文件系统缓存中,Domino Web Access 缓存了许多外部引用,比如 UI 设计元素。然后,在浏览器需要重新加载这些元素时,它只需从其自身的缓存中抓取这些元素的副本即可。更好地调优性能的一个方法是,调整缓存清除的级别。在开始使用 Lotus Domino 6.5 时,管理员可以通过定义在缓存中保存哪些元素(样式表、静态代码、Web 页面、URL 等)来设置缓存清除的接别。对于某些管理员,他们甚至可能不愿意在缓存中保存那些静态元素。Notes.ini 设置,即 iNotes_WA_LogoutScrubType,定义了 6 种不同的安全设置,从默认设置(保存一些来自邮件文件的设计信息)到最安全的选项(在退出的时候删除所有对 Domino Web Access 的追踪,并删除 Temporary Internet 文件夹中的其他所有 Web 页面)。使用该设置,可以在您想要的性能与您需要的安全性之间进行权衡。下表显示了可以使用的缓存清除范围。从性能的观点来看,级别 3 和级别 5 是最不想要的级别,因为它们删除了公共表单数据库的内容。不过,在所有情况下,当用户退出系统时,都将从 Temporary Internet 文件夹中删除包含用户特定信息的页面