IBM Lotus Notes 开发人员必看的性能基础知识

这份白皮书阐述对 IBM Lotus Notes 和 Domino 应用程序的性能造成巨大影响的最重要因素。它的主要目的是帮助 Notes 客户端应用程序开发人员识别问题,然后针对问题提供解决方案,从而实现最佳的性能。

在这里,假设您已经知道如何创建 Notes 设计元素,以及知道如何对表单、字段、视图和列等组件设置选项。这份白皮书为各个级别的开发人员提供了学习材料。


简介

在 Lotus Notes 中开发简单的应用程序非常容易,并且在用户和文档的数量很少时,一般不会遇到性能问题。然而,只要应用程序是成功的,用户和数据的数量就会逐渐增多。如果在设计时没有考虑到性能问题,那么您的应用程序此时将会变得异常缓慢。

这份白皮书讨论影响 Notes/Domino® 应用程序的性能的主要因素,并且解释开发人员如何才能获得最佳的性能。这并不是一份详尽的指南;相反,我们主要关注最常见、最严重的设计问题。

这份白皮书的主要目的是帮助您识别 Notes 客户端应用程序的问题,并指导您找到解决办法。Web 应用程序也存在类似的设计问题,但它们的问题主要在另外两篇文章中解答,即 Appendices Group C of the IBM Redbooks 出版物 Performance Considerations
for Domino Applications 和 IBM Business Partner 文档 Performance Engineering Notes/
Domino Applications。


主要因素

一般而言,以下因素对应用程序的性能影响最大:

视图的数量及其复杂性。删除不使用的视图或合并相似的视图。对于包含相同文档但使用不同排序的视图,使用一个可重新排序的列合并它们。删除不需要的列,并简化选择和视图列公式。检查是否存在您不能访问的“服务器私有”视图或其他视图。在视图选择公式或列选择公式中使用 _cnnew1@Today 和 @Now。尽量避免这种情况。参见 IBM Support Web 站点技术文档 Time/Date views in Notes: What are the
options?;并阅读本文下面的视图小节。文档数量。文档越多打开的速度就越慢。可以考虑压缩旧文档或将主文档合并为单一文档。例如,如果您的主文档是一个“订单”,那么将订单上的每个“排列项”放到独立的文档中就是一个糟糕的做法。Lotus Notes 不是关系数据库,而是面向文档的数据库。储存在文档中的摘要字段的数量。不属于富文本的字段称为“摘要”字段(尽管这个称呼过于简单化)。文档包含的摘要字段越多,将其编入到视图索引中所需的时间就越长(如果存在几百个字段,那么所需的时间将增加 30%)。只要字段存在,即使不在视图中使用它们,也会造成一样的结果。有时使用更少的文档却需要更多的字段,反之亦然;必须仔细考虑才能为提升性能做出正确的选择。表单的复杂性。尝试将表单的数量限制为与实际需要的字段相等。表单越长,打开、刷新和保存它们所需的时间就会大大延长(并且视图索引器需要处理的字段也会增多)。修改文档。对文档进行不必要的修改会增加索引器的负担,从而降低了视图索引的速度,并且还会影响复制和全文本索引的速度。删除文档的数量。当删除一个文档时,就会留下一个称为“删除存根”的标记。复制程序需要根据这个标记决定是否从其他副本中删除相同的文档,或将“缺失”的文档复制到该副本。删除存根最终会过期(默认为 90 至 120 天),因此只要数据库保持正常的删除文档数量,就不会造成问题。

然而,我们见过一些应用程序包含的删除存根要比文档多好几倍。如果使用代理程序在夜间执行文档删除,然后从其他外部数据源创建新的文档,那么通常会出现这种情况。不要使用这种方法。您可以使用更高级的算法比较文档和源数据,从而确定应该更新或删除哪些文档。参见 Lotus Sandbox download 了解更多信息。

Reader 字段。如果有必要使用 Reader 字段,那么必须使用它 —— 没有其他方法能够提供它所提供的安全性。但要注意它对视图的性能造成的影响,尤其是用户仅访问大量文档中的一小部分文档时。这份白皮书的视图小节讲述了一些减小该字段的影响的技巧,另外 developerWorks 文章 Lotus Notes/Domino 7 application performance: Part 2: Optimizing database views 也讨论了类似的主题。用户数量。如果服务器上存在大量用户,那么将会影响应用程序和服务器的性能。当应用程序的性能已经处于临界状态时,添加新的用户会导致性能恶化。改良设计会有所帮助,但您还需要在其他服务器上创建副本(尤其是集群服务器),或鼓励用户创建快的本地副本。
参与10

5同行回答

SunyxSunyx软件开发工程师其他
:lol楼主可不可以搞个文档给我们下载?显示全部
:lol楼主可不可以搞个文档给我们下载?收起
电子/电信其它 · 2012-04-01
浏览1741

提问者

擅长领域: portal中间件服务器

相关问题

相关资料

问题状态

  • 发布时间:2012-03-07
  • 关注会员:1 人
  • 问题浏览:6073
  • 最近回答:2012-04-01
  • X社区推广