性能
先显示文档再显示图像
要快速显示包含图像的文档,请选择“基本”数据库属性“在完全装入图像后再显示此图像”。这样 Notes 用户就可以在装入图像的同时阅读文本。如果不是先装入文本再装入图像,Notes 将按图像在文档中出现的顺序装入图像;如果图像最先出现,Notes 将在显示文本之前装入该图像。如果图像很大或连接速度很慢,按顺序装入图像可能会减慢文档的显示。
此设置仅在使用 Notes 查看数据库时适用;Web 浏览器设置将控制图像对 Web 浏览器用户的显示。
提示 用户也可以在“场所”文档的“高级”区段指定“加载图像:根据请求”,这样仅在用户单击时才会显示图像。有关详细信息,请参阅 Lotus Notes 6 帮助。
避免使用预先存储的表单
为确保文档总是正确显示,可将表单与文档一起存储。然而,将表单与每个文档一起存储会耗费系统内存,并且所需的磁盘空间比不一起存储时多 20 倍。要节省内存和磁盘空间,您可能需要避免使用预先存储的表单,特别是在用户试图读取文档时遇到性能问题的情况下。要避免使用预先存储的表单,请取消选择“基本”数据库属性“允许在此数据库中使用预先存储的表单”。避免使用预先存储的表单之前,应确保了解此设计功能如何工作以及数据库如何使用它。
不保留未读标记
在数据库中保留未读标记需要系统资源并且会显著降低数据库性能。对于某些数据库,未读标记并无用处 -- 例如,参考数据库(例如,随 Domino 一起提供的帮助数据库)、管理数据库(例如 Domino 目录)或不断更新的数据库(例如,日志文件 LOG.NSF)。在这些类型的数据库中,应考虑禁用未读标记。要禁用未读标记,请选择“高级”数据库属性“不保留未读标记”。
注意 设计不显示未读标记的视图并不能提高数据库性能,因为这些未读标记仍然保留,仅仅是不显示而已。
如果选择或取消选择“不保留未读标记”属性,必须压缩数据库才能使设置生效。在这种情况下,压缩数据库将创建数据库的一个临时拷贝,因此系统必须具有创建拷贝所需的磁盘空间。
提示 您也可以运行带有 -u 或 -U 选项的 Compact 服务器任务来启用或禁用该属性,然后进行压缩。
复制未读标记
复制未读标记时需要使用系统资源,因而会显著削弱数据库的性能。未读标记复制功能主要是为邮件数据库设计的。
有关启用未读标记复制的信息,请参阅复制未读标记主题。
将文档表格与表单关联以更新视图
更新视图时,Domino 会引用文档信息表格。这些表格内部存储于数据库中。缺省情况下,在视图更新和重建过程中,Domino 会搜索出现在要更新的视图中的文档的每个表格。要更有效地更新视图,请选择“高级”数据库属性“优化文档表格位图”。此属性将表格与表格中包含的文档所使用的表单关联。这样,在视图更新过程中,Domino 只搜索与要更新视图中的文档使用的表单关联的表格。这将显著提高视图更新的性能,特别是在大型数据库中更新小视图的情况下 -- 例如,更新“Domino 目录”中的“连接”视图。
此属性仅对将 Form= 作为部分选择条件的视图生效。虽然维护表格/表单关联时会稍微降低性能;然而在大型数据库中更新小视图时,利大于弊。
如果选择或取消选择“优化文档表格位图”属性,必须压缩数据库才能使设置生效。在这种情况下,压缩数据库将创建数据库的一个临时拷贝,因此系统必须具有创建拷贝所需的磁盘空间。
提示 您也可以运行带有 -F 或 -f 选项的 Compact 服务器任务来启用或禁用该属性,然后进行压缩。
避免覆盖已删除数据
从数据库中删除数据后,缺省情况下,Domino 通过某种方式覆盖磁盘上已删除的数据。此方式可避免未授权用户使用实用程序访问该数据。覆盖会影响磁盘 I/O 和数据库性能。
在以下情况下,应该避免覆盖已删除数据:
不保留“访问时间(此文件中)”文档属性
“文档属性”框中会显示“访问时间(此文件中)”属性,此属性表示上次修改或读取文档的日期。“高级”数据库属性“保留 LastAccessed 属性”控制当上次文档访问操作为读取时是否更新“访问时间(此文件中)”属性。对读取操作保留“访问时间(此文件中)”属性会导致磁盘 I/O,而不保留该属性则不会发生磁盘 I/O。
缺省情况下,不会选中数据库属性“保留 LastAccessed 属性”,这意味着上次文档访问操作为读取时,不会更新“访问时间(此文件中)”属性;仅当上次文档访问操作为修改文件时,才会更新该属性。可以通过选择“保留 LastAccessed 属性”来更改缺省行为。
如果使用文档归档工具(在数据库属性框中提供了该工具),则应该选择“保留 LastAccessed 属性”,这样可以根据非活动日期来删除文档。
禁用指定的答复层次信息
缺省情况下,每个文档都存储了用于将它与父文档或答复文档相关联的信息。只有经常用于视图选择和复制公式的 @AllChildren、@AllDescendants 和 @function 才使用此存储信息。保留此信息会严重降低数据库性能。
要提高数据库性能,请通过选择“高级”数据库属性“不支持指定的答复层次”在不使用这些 @function 的数据库中禁用答复层次信息。
禁用答复层次信息,对于未使用 @AllChildren 和 @AllDescendants 来分层次显示信息的视图和复制公式毫无影响。
禁用答复层次信息会将 NotesDocument.Responses 设置为 0 个文档。
如果选择或取消选择“不支持指定的答复层次”属性,必须压缩数据库才能使设置生效。在这种情况下,压缩数据库将创建数据库的一个临时拷贝,因此系统必须具有创建拷贝所需的磁盘空间。
提示 您也可以运行带有 -h 或 -H 选项的 Compact 服务器任务来启用或禁用该属性,然后进行压缩。
避免首页监控
用户可以设置首页监控来自动监控数据库,以查找他们感兴趣的信息。以这种方式监控数据库将影响数据库性能,尤其当多个用户都这样做时。要避免用户监控数据库,请选择“高级”数据库属性“不允许首页监控”。您也可以使用 Domino 目录中的“服务器”文档的“安全”区段在服务器级控制首页监控。
允许在数据库中使用更多域
您可以通过选择高级数据库属性“允许在数据库中使用更多域”增加数据库中域的数目,此选项允许数据库包含多达 23,000 个域。
对于没有选择此选项的数据库,数据库中的所有域名连接起来不能超过 64 KB,这会导致数据库域的数量限制在大约 3000 以内。
对附件使用 LZ1 压缩
在 Lotus Domino Designer 6 中,可以选择使用新的 LZ1 算法来压缩附件,而不使用 Huffman 算法。LZ1 压缩能够快速高效地执行,比 Huffman 方法更受欢迎。但是,如果在使用不同版本客户机和服务器软件的环境下(例如,Lotus Domino Designer 6 客户机软件和 Domino 5 服务器软件)工作,并且选择了该选项,则会在服务器上使用 Huffman 方法自动重新压缩附件。注意重新压缩对性能有影响。为获得最好的性能,请在以 Domino 6 为主的环境中使用 LZ1。
注意 选择了 LZ1 算法后,系统不会使用 LZ1 算法来自动压缩现有数据库中的附件,但会使用 LZ1 算法来压缩在启用 LZ1 算法选项后附加的文件。通过检查文档属性中的“$File”域,可以识别所用的压缩算法。
有关 LZ1 算法的详细信息,请参阅《Domino Designer 应用程序开发》一书或“Domino Designer 6 帮助”。
限制 $UpdatedBy 域的大小
缺省情况下,每个文档都包含一个 $UpdatedBy 域,该域存储与每个文档编辑会话相关联的用户名或服务器名。存储完整的编辑历史记录会占用磁盘空间并减慢视图更新和复制的速度。要节省磁盘空间并提高数据库性能,请使用“高级”数据库属性“限制 $UpdatedBy 域的输入项”来指定 $UpdatedBy 域可包含的项目数。当 $UpdatedBy 域的项目数达到此限制时,会删除最旧的项目,为最新的项目腾出空间。
限制 $Revisions 域的大小
缺省情况下,每个文档都包含一个 $Revisions 域,此域存储每个文档编辑会话的日期和时间。当两个用户同时编辑某个复本中的同一个文档或编辑相互复制的不同复本中的同一个文档时,Domino 使用此域来解决复制或保存冲突。
缺省情况下,$Revisions 域最多可存储 500 个编辑会话的历史记录,每个编辑会话需要 8 字节的磁盘空间。随着时间的推移,$Revisions 域会越来越大,这将占用磁盘空间并减慢视图更新和复制速度。要节省磁盘空间并提高数据库性能,请使用“高级”数据库属性“限制 $Revisions 域的输入项”来指定 $Revisions 域可包含的项目数。当 $Revisions 域中的项目数达到此限制时,会删除最旧的项目,为最新的项目腾出空间。
在具有以下所有特征的数据库中应考虑限制 $Revisions 域中的项目:
指定软删除的到期时间
选择“允许软删除”时,标记为删除的文档在被删除前将在数据库中保留指定的一段时间。可以在数据库属性框的“高级”附签中,指定文档从数据库中删除前保留的小时数。