欢迎来到天天文库
浏览记录
ID:42715211
大小:158.50 KB
页数:20页
时间:2019-09-20
《针对IBM Lotus Notes开发人员的性能基础知识》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、在LotusNotes中开发简单的应用程序非常容易,并且在用户和文档的数量很少时,一般不会遇到性能问题。然而,只要应用程序是成功的,用户和数据的数量就会逐渐增多。如果在设计时没有考虑到性能问题,那么您的应用程序此时将会变得异常缓慢。这份白皮书讨论影响Notes/Domino®应用程序的性能的主要因素,并且解释开发人员如何才能获得最佳的性能。这并不是一份详尽的指南;相反,我们主要关注最常见、最严重的设计问题。这份白皮书的主要目的是帮助您识别Notes客户端应用程序的问题,并指导您找到解决办法。Web应用程序也存在类似的设计问题,但它们的问题主要在另外两篇文章中解答,即Append
2、icesGroupCoftheIBMRedbooks出版物PerformanceConsiderationsforDominoApplications和IBMBusinessPartner文档PerformanceEngineeringNotes/DominoApplications。主要因素一般而言,以下因素对应用程序的性能影响最大:·视图的数量及其复杂性。删除不使用的视图或合并相似的视图。对于包含相同文档但使用不同排序的视图,使用一个可重新排序的列合并它们。删除不需要的列,并简化选择和视图列公式。检查是否存在您不能访问的“服务器私有”视图或其他视图。·在视图选择公式或列选择
3、公式中使用_cnnew1@Today和@Now。尽量避免这种情况。参见IBMSupportWeb站点技术文档Time/DateviewsinNotes:Whataretheoptions?;并阅读本文下面的视图小节。·文档数量。文档越多打开的速度就越慢。可以考虑压缩旧文档或将主文档合并为单一文档。例如,如果您的主文档是一个“订单”,那么将订单上的每个“排列项”放到独立的文档中就是一个糟糕的做法。LotusNotes不是关系数据库,而是面向文档的数据库。·储存在文档中的摘要字段的数量。不属于富文本的字段称为“摘要”字段(尽管这个称呼过于简单化)。文档包含的摘要字段越多,将其编入到
4、视图索引中所需的时间就越长(如果存在几百个字段,那么所需的时间将增加30%)。只要字段存在,即使不在视图中使用它们,也会造成一样的结果。有时使用更少的文档却需要更多的字段,反之亦然;必须仔细考虑才能为提升性能做出正确的选择。·表单的复杂性。尝试将表单的数量限制为与实际需要的字段相等。表单越长,打开、刷新和保存它们所需的时间就会大大延长(并且视图索引器需要处理的字段也会增多)。·修改文档。对文档进行不必要的修改会增加索引器的负担,从而降低了视图索引的速度,并且还会影响复制和全文本索引的速度。·删除文档的数量。当删除一个文档时,就会留下一个称为“删除存根”的标记。复制程序需要根据这
5、个标记决定是否从其他副本中删除相同的文档,或将“缺失”的文档复制到该副本。删除存根最终会过期(默认为90至120天),因此只要数据库保持正常的删除文档数量,就不会造成问题。然而,我们见过一些应用程序包含的删除存根要比文档多好几倍。如果使用代理程序在夜间执行文档删除,然后从其他外部数据源创建新的文档,那么通常会出现这种情况。不要使用这种方法。您可以使用更高级的算法比较文档和源数据,从而确定应该更新或删除哪些文档。参见LotusSandboxdownload了解更多信息。·Reader字段。如果有必要使用Reader字段,那么必须使用它——没有其他方法能够提供它所提供的安全性。但要
6、注意它对视图的性能造成的影响,尤其是用户仅访问大量文档中的一小部分文档时。这份白皮书的视图小节讲述了一些减小该字段的影响的技巧,另外developerWorks文章LotusNotes/Domino7applicationperformance:Part2:Optimizingdatabaseviews也讨论了类似的主题。·用户数量。如果服务器上存在大量用户,那么将会影响应用程序和服务器的性能。当应用程序的性能已经处于临界状态时,添加新的用户会导致性能恶化。改良设计会有所帮助,但您还需要在其他服务器上创建副本(尤其是集群服务器),或鼓励用户创建更快的本地副本。数据库级别的性能因
7、素参考DominoDesigner帮助文档“Propertiesthatimprovedatabaseperformance”的数据库选项列表,您可以利用它调试性能。在很多情况下,这些选项通过削弱性能来获得其他功能;因此,对于特定应用程序不需要的功能,可以禁用它。对性能有巨大影响的选项包括:·Don’tmaintainunreadmarks。·Don’tmaintainthe"Accessed(Inthisfile)"documentproperty。如果“不进行维护”,您就不知道最后一次读
此文档下载收益归作者所有