【问题标题】:Access directly to server with XPINC...very very slow使用 XPINC 直接访问服务器...非常非常慢
【发布时间】:2012-08-06 12:47:43
【问题描述】:

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

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

我用一个工具嗅探了流量,我发现对于每个 GET 传输的数据有 10Mbytes(似乎传输 XML 源代码和其他即时编译的代码......)

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

我有带有 PRELOAD 选项设置的 8.5.3FP2(客户端和服务器)......没有对此进行任何更改。

有人给我建议吗?这是BUG吗?

【问题讨论】:

    标签: xpages xpinc


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

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

      告诉我们进展如何。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-09-27
        • 2014-03-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多