Lotus notes 数据库构建/清理时间

Lotus notes 数据库构建/清理时间,lotus-notes,xpages,Lotus Notes,Xpages,我注意到,最近我们的xpages应用程序构建/编译时间急剧增加。清洁应用程序甚至可能需要几乎整整一分钟的时间 这是一个相当复杂的应用程序,有一些控件(自定义控件和java控件)和大量遗留代码(js、ls、java),但类似的应用程序在纯ecplise中构建,使用相同数量的java代码(这是该应用程序中唯一更改的部分)在不到3秒钟的时间内完成清理 我对rcp调试控制台做了一些研究,注意到在清理时有一些疯狂的流量,总计15000个事务(而这个数据库只有300个包含代码的设计元素!) 日志看起来像这样

我注意到,最近我们的xpages应用程序构建/编译时间急剧增加。清洁应用程序甚至可能需要几乎整整一分钟的时间

这是一个相当复杂的应用程序,有一些控件(自定义控件和java控件)和大量遗留代码(js、ls、java),但类似的应用程序在纯ecplise中构建,使用相同数量的java代码(这是该应用程序中唯一更改的部分)在不到3秒钟的时间内完成清理

我对rcp调试控制台做了一些研究,注意到在清理时有一些疯狂的流量,总计15000个事务(而这个数据库只有300个包含代码的设计元素!)

日志看起来像这样反复出现:

。。。 [1240:0007-03E0](13586-124[14561])打开注释(REPC12579BB:0033C2FE-NT000030520040000):0毫秒[48+17446=17494]

[1240:0007-03E0](13587-124[14562])打开注释(REPC12579BB:0033C2FE-NT00006C1200400000):1毫秒[48+32118=32166]

所以我的问题是:


这是否意味着xpages builder写得很糟糕,或者我不知道什么?

您是在做项目构建还是项目构建全部。如果后者和您打开了多个NSF,则构建将针对所有应用运行。您可以在软件包资源管理器中关闭应用程序

当您说有300个设计元素时,这是您在应用程序导航器中看到的数字吗?请记住,这只是正在构建的实际文件海洋中的一小部分。PackageExplorer将显示每个XPage和自定义控件都有额外的Java和xsp配置文件。这些是从XPages和定制控件设计元素中看到的XML标记编译而来的Java类。但这并不是我们要建造的全部。服务器或本地数据库无法运行.java文件。它需要运行为相关平台编译的.class文件。此外,还有其他.class文件需要在编译时合并到应用程序中,可以通过在PackageExplorer视图中选择Project-Properties来查看这些文件。如果您进行了本地化,那么对于每个XPage/自定义控件,每种语言还有更多的文件。当然还有像xsp.properties、activator.java文件和.class文件这样的文件


XPage builder可能写得不好,因为这些文件需要创建。但它实际上非常聪明,因为我们不需要编写Java,也不需要定义应用程序依赖的所有相关Java文件。我们不需要为各种控件创建新的XSPInput或任何Java类。我们可以拖放,从漂亮的面板中设置属性,这些面板提供了下拉列表或布尔选择器等。没有这些,每次保存后应用程序的构建时间会更快,但开发时间会更慢。

它显示了构建时间问题的解决方案-它是新的Domino Designer 9。升级到公测版后,构建时间急剧下降(只有几秒钟)

尝试使用数据库的本地副本执行清理/编译,以查看是否存在网络问题。使用本地副本,清理时间从50秒减少到15秒。它更好,但每次我想要测试应用程序时进行复制都会增加太多的开销,真的很烦人。然后我会说,你有一个网络速度问题。我也看到了这一点,但我相信它在8.5.3中有所改进。哦,我忘了提一下-我的服务器和设计器版本是8.5.3FP1,服务器位于本地虚拟机(win2008 64位)中。这台电脑是联想顶级笔记本电脑,拥有尽可能最好的处理器和尽可能最好的ssd磁盘(两者都很值钱:)…@W_K:如果你正在制作本地副本,你可以使用键盘快捷键进行复制。Alt+F+R+R+Enter。在后台复制。与在服务器上编译应用程序相比,这并没有那么糟糕。我以Project/Clean为例,所以我确信只生成了一个db。300是对任何代码元素的粗略估计——我没有包括动态创建的java和xml文件,因为这不是瓶颈所在。真正的问题是编译我的java类需要2/3的时间——这很容易证明,如果我将所有类放入JAR中,编译时间会急剧下降。幸运的是,本地化被关闭了(我必须说这是一个多么糟糕的机制)。我忘了指出这一点:xpages使用类似xml的语言来定义应用程序结构(它允许漂亮的面板工作)这一事实对构建时间没有任何影响。问题是构建标准java所需的时间(我有很多,因为我不使用ssjs)