7

通过 WAN 在服务器上构建包含多个 JAR、Java 源和约 50 个 XP/CC 元素的 XPage 应用程序的构建时间大约需要几分钟。我已将应用程序复制到本地,构建时间降至〜 10 秒。

由于几天前本地应用程序的构建非常慢,大约 2-5 分钟。经过一些实验后,有一种解决方法:禁用位置文档中的 TCP 端口 - 它将构建时间缩短到几秒钟。即使它有效,它也无济于事 - 测试需要对用户进行身份验证,因此我需要将设计更改复制到远程或本地服务器 - 这意味着每次都更改位置(在线/离线)。

2013 年 4 月 4 日更新:我复制了当前位置文档并删除了主服务器和目录服务器。令我惊讶的是,有了这个位置,构建时间又回到了几秒钟——启用了 TCP 端口,因此可以进行复制。更令人惊讶的是,将主/目录服务器返回到新位置并没有重现问题 - 事实上它们不会影响性能。我知道,因为我已重命名当前位置文件,一切正常。据我了解,客户端配置中的“某物”与位置名称相关联。感谢西蒙的提示,我将进一步调查。

问题仍然悬而未决:我正在寻找一些(eclipse)偏好来控制这种行为 - 在构建本地应用程序期间与服务器进行意外通信。

4

4 回答 4

4

解决方案: Teamstudio CIAO 连接到设计师并检查设计元素的每次更新。对我来说似乎缺乏代码优化:它检查当前构建的设计元素(每一个,一个一个)是否应该在 CIAO 配置数据库中控制。

这解释了为什么通过重命名位置文档来解决问题。昨天,当性能问题再次出现时,我感到很失望。幸运的是,我记得当时 CIAO 对那个位置文件的设置。CIAO 使用teamstudio.iniDATA 目录中的文件来配置每个位置文档使用的 CIAO 配置数据库。寻找入口:

CIAOConfigDb[location name]=server name;CIAO\CIAOConfig.nsf

对于连接到服务器(用于复制或本地服务器)的本地副本进行开发,请使用禁用 CIAO 的位置​​文档。

这仅适用于 property ForceConfigLocation=0

于 2013-04-09T16:11:20.543 回答
3

不是解决方案(还没有!),但可能有助于调查。如果您稍后发布结果,我会进一步更新。

调试说明。

将以下内容添加到启动 Designer 客户端的快捷方式中。

-RPARAMS -console -debug -separateSysLogFiles -consoleLog

启动设计器客户端。这也将打开 OSGi 控制台。

重现问题。虽然它仍在 OSGi 控制台中进行,但请键入以下内容:

dump threads

重复此操作 3 次,每次转储完成之间的间隔时间很短。完成后,在Heap Dump Analyzer中打开三个堆转储(在 IBM_TECHNICAL_SUPPORT 文件夹中)。

它将通过所有三个转储向您展示哪些线程是一致的。查看这些并查找可能看起来是功能区域的包名称/调用。一旦你有了它,你就可以尝试为相关类添加调试。

例如:假设您注意到“com.ibm.designer.domino.ui.commons”。在线程中,您将编辑 rcpinstall.properties 文件。它将在:

<Notes Install>\Data\workspace\.config\rcpinstall.properties

你会添加(从 FINE 开始,如果没有,然后是 FINEST):

com.ibm.designer.domino.ui.commons.level=FINE

现在,当您重新启动设计器客户端时,它将在该包的 workspace\logs 文件夹中生成调试输出。然后,您需要查看跟踪日志以查找延迟发生的时间,并查看它是否引用了相关的设计元素。

于 2013-04-04T16:45:37.387 回答
2

其他开放的应用程序可能会同时构建(这看起来像是我的一个错误)。请务必关闭所有其他应用程序和基于服务器的副本。打开的应用程序的图标显示在应用程序列表中,即使您关闭并重新打开 Designer,它们也会保持打开状态。在 Designer 9 中右键单击应用程序并选择“关闭应用程序”。在 8.5 中,您需要使用 Package Exprorer 进行关闭。

另一个好方法是使用工作集。仅构建开放工作集中的应用程序 (AFAIK)。仅使用此一个应用程序(并且仅在此工作集中的应用程序)拥有一个工作集。

更新 1

如果这些没有帮助,我会删除/重命名bookmark.nsfCache.NDKdesktop8.ndk。然后只打开这个应用程序,看看会发生什么。

更新 2

检查是否没有引用的项目。右键单击应用程序并选择“项目属性”。从那里“项目参考”并确保没有选中任何复选框。

更新 3

根据您的更新,我将检查位置文档中以 $ 开头的项目名称。有时保存的 IP 地址等可能会导致此问题。所有这些项目都可以删除。

于 2013-04-04T14:05:31.283 回答
1

如果可能(如果您还没有使用它)尝试使用版本 9 的 Domino 设计器(您不必使用 Domino 9 来执行此操作 - 它适用于 Domino 8.5.3)。

对于我们的项目,构建时间从几分钟缩短到几秒钟。我猜他们最终在 IBM 注意到构建过程过去大量依赖于与服务器的连接并对其进行了处理。使用新设计师您不必将事件复制到本地。您可以直接在本地服务器上工作。

于 2013-04-08T11:11:21.640 回答