用XPINC直接访问服务器......非常慢

时间:2012-08-06 12:47:43

标签: xpages xpinc

我开发了一个在浏览器(Firefox)中运行良好的应用程序XPages,并且在每个页面中浏览器加载最多150Kb的内容(html,image,js,css ......等等)

当我将应用程序部署到使用XPiNC模式直接访问服务器的远程用户时,速度非常差!

使用工具我嗅探了流量,我发现每次GET都有10M字节的数据传输(似乎传输XML源代码和其他动态编译的代码......)

Notes客户端内的应用程序无法使用,因此我的客户对此功能感到失望(无法在本地和复制中使用)

我有8.5.3FP2(客户端和服务器),PRELOAD选项设置....没有任何改变。

有人对我有任何建议吗?这是一个BUG吗?

2 个答案:

答案 0 :(得分:1)

XPiNC有点特别。当您打开基于服务器的NSF时,需要将所有程序代码下载到客户端以在Notes客户端的服务器容器中执行。将XPiNC与服务器中的数据一起使用的合理方法是拆分应用程序。有一个NSF包含所有程序逻辑(所有XPage和其他代码),另一个包含表单,视图和文档。 在本地复制应用程序NSF并仅访问服务器上的数据。这应该会给你更好的表现。您可以使用配置设置来计算数据NSF,因此断开连接的用户可以使用数据的本地副本。

让我们知道它是怎么回事。

P.S。:还有一些调整思路......

答案 1 :(得分:1)

远程应用程序(驻留在非本地服务器上的NSF)确实比本地客户端副本或在Web浏览器中运行的远程应用程序慢。这是因为在此模式下运行时会生成更多网络事务。然而,可以采取各种措施来解决问题。

首先,我们需要确定问题的原因 - 您看到每个GET请求的10MB传输,这非常大,并且显然会对性能产生负面影响。应用程序中的一个或多个XPage可能正在使用computeWithForm功能?如果XPage文档数据源“计算”Notes表单(通常用于执行预先存在的应用程序逻辑),则必须通过网络复制表单以在本地客户端中计算。但是,表单中的所有子项也将被拖出 - 子表单,共享字段等,这可能会导致像您看到的大型网络事务。

通常,computeWithForm功能用作开发方便,只要表单的大小很小,性能影响就可以忽略不计。但是,如果聚合形式很大,那么将computeWithForm用法替换为单独的XPage SSJS应用程序逻辑可能是值得的。

在进一步研究之前,我们需要验证这实际上是问题 - 可能还有其他问题。通常,这仅在打开/编辑文档的页面上显示 - 因此您可以尝试在测试环境中关闭computeWithForm并查看是否存在差异。