这份白皮书阐述对 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然而,我们见过一些应用程序包含的删除存根要比文档多好几倍。如果使用代理程序在夜间执行文档删除,然后从其他外部数据源创建新的文档,那么通常会出现这种情况。不要使用这种方法。您可以使用更高级的算法比较文档和源数据,从而确定应该更新或删除哪些文档。参见 Lotus Sandbox download 了解更多信息。
Reader 字段。如果有必要使用 Reader 字段,那么必须使用它 —— 没有其他方法能够提供它所提供的安全性。但要注意它对视图的性能造成的影响,尤其是用户仅访问大量文档中的一小部分文档时。这份白皮书的视图小节讲述了一些减小该字段的影响的技巧,另外 developerWorks 文章 Lotus Notes/Domino 7 application performance: Part 2: Optimizing database views 也讨论了类似的主题。用户数量。如果服务器上存在大量用户,那么将会影响应用程序和服务器的性能。当应用程序的性能已经处于临界状态时,添加新的用户会导致性能恶化。改良设计会有所帮助,但您还需要在其他服务器上创建副本(尤其是集群服务器),或鼓励用户创建更 快的本地副本。