Performance 为大量用户群和高性能设计XPages应用程序
以下问题由一位即将编写大规模XPages应用程序的客户提出。虽然我认为这些问题实际上非常广泛,适合stackoverflow的风格,但它们很有趣,这里专家的集体知识可能比一个人回答的结果更好:Performance 为大量用户群和高性能设计XPages应用程序,performance,xpages,Performance,Xpages,以下问题由一位即将编写大规模XPages应用程序的客户提出。虽然我认为这些问题实际上非常广泛,适合stackoverflow的风格,但它们很有趣,这里专家的集体知识可能比一个人回答的结果更好: 有多少concurent用户可以在一台LotusDomino服务器上使用XPages应用程序(LotusDomino服务器上有几个应用程序,而不是一个) 在运行XPages应用程序时,我们如何定义和分析lotusdomino服务器上的内存泄漏 我们如何以正确的方式编写XPages以获得最佳性能并避免内存泄
而泄漏内存。回收。雇佣一位经验丰富的首席开发人员,同时也包括。考虑线程不再运行代码,这样用户就不必等待了。
这取决于你的需要。Domino开发的一般经验教训适用于数据库操作,因此FTSearch优于DBSearch,scope usage优于@DBColumn以获取参数。EL超过SSJS
典型错误包括:XPages->use脚本库中的所有代码。@dblookup太多,@dbcolumn而不是作用域。在按钮而不是验证器中进行验证。违反分解原则。忘记使用.recycle()。设计应用程序“像旧的Notes屏幕”而不是单页交互。部分刷新的使用太少。不使用缓存。对象定向太少(在脚本库中装入函数graves)
这是问题1-5的总结,没有什么新的答案
当为XPages集群Domino服务器并将负载平衡器放在前面时,需要将负载平衡器配置为在同一服务器上保持会话,以便部分刷新和Ajax调用到达为该用户呈现组件树的服务器
这取决于服务器设置,我有一个XPage外联网,拥有12000名注册用户,跨越大约20个XPage应用程序。它运行在1台Windows2003服务器上,带有4GB内存和四核cpu。这20个应用程序的数据量约为60GB。没有DAO,没有bean,只有SSJ。性能非常好。因此,当我将此安装升级到64位和Daos时,应用程序将在更多的时候扩展。所以64位和大量的Ram是许多用户的关键
我没有做过任何事情
确保在执行文档循环时重新设置样式,使用openntf.org调试工具栏—在我们为XPages设置调试器之前,它将节省大量时间
始终认为,当您在做一些事情时,这将由多个用户完成,所以请尝试减少查找或getElementByKey的数量。尽可能使用ViewNavigator
这完全取决于有多少用户同时使用系统。如果您有10000-15000个并发用户,那么您必须查看应用程序的功能以及有多少用户将同时使用同一应用程序
这是我对这个问题的见解感谢你的贡献!我想建议你们把问题的范围分成更多的问题:例如,题目2+3,1+6,4+5,7。我在考虑这个问题,因为它是有意义的。但这就是我得到的广告,所以我把它放在一起(从客户的角度来看也是有意义的)看看这个问题的答案:广告1大约有10k Notes对象的内部限制。如果将http线程等分,则会导致10k/线程—一个线程中notes对象的平均数量。如果我们以平均每个XPage(线程)十个这样的对象的余量计算,最大并发用户数只有几百到一千个。如果你能解释更多你的意思,我会非常感兴趣的?每个线程10k的对象最多可带来100-1000个用户?这些对象是什么(XPage控件、设计元素)?