【问题标题】:Xpages performance and sessionScope variablesXpages 性能和 sessionScope 变量
【发布时间】:2015-08-27 14:12:41
【问题描述】:

试图从我的 Xpages 应用程序中获得更好的性能。阅读 Mastering Xpages 2Ed、博客、安装 Xpages Toolbox。

特别是一个应用程序非常慢。用户设置一些配置文件,然后程序将这些文件加载​​到 sessionScope 变量中。我大量使用这些来设置应用中的导航。

第 19 章有很多关于性能的有用提示,我正在回顾它们。一种指导您过分依赖 sessionScope 变量,而是使用 viewScope 或托管 bean。

为什么 sessionScope 变量会拖累性能,我可以使用什么来提高性能?

另外,我正在尝试使用工具箱来分析我的应用程序并找出瓶颈所在,但我只是不太明白。我应该使用 CPU Profiler 还是 BackendP Profiler?

任何帮助将不胜感激。

【问题讨论】:

  • 您看过这些大师班视频吗? openntf.org/main.nsf/project.xsp?r=project/xpages%20masterclass - 它们都是关于性能的,可以与本书和工具箱一起使用
  • 这看起来是一个很好的资源,谢谢。
  • 如果您的配置设置适用于所有用户,为什么不使用应用程序范围?通常,任何作用域变量都会很快,因为它来自内存。我使用具有应用程序范围的托管 bean 进行配置设置(适用于所有用户),并使用仅用户类型变量的视图或会话范围。 XPages Toolbox 很棒,使用 CPU 分析器开始,看看你的慢在哪里。然后,如果您的性能问题与访问 Domino 对象有关,则可以使用后端分析器。
  • 霍华德,applicationScope 的性能是否优于 sessionScope?如何在 appScope 中使用托管 bean?
  • 执行相同但将使用更少的内存,因为它在所有用户之间共享。请参阅 tlcc.com/admin/tlccsite.nsf/pages/… 了解我们 2015 年 2 月关于将 Java 与 XPages/beans 结合使用的网络研讨会。我们也有这方面的课程。

标签: xpages xpages-ssjs


【解决方案1】:

我不认为示波器有任何真正的“性能”差异 - 即从示波器中提取数据的速度。

我以前一直使用 sessionScope,但现在出于其他原因尽量避免使用它。 sessionScope 非常适合购物车,但对于“应用程序状态或页面状态”非常不利。我曾经将 sessionScope 用于不同的东西,然后有人会在第二个选项卡中打开同一个应用程序,这会导致问题。

我并没有真正使用过探查器 - 但它在我的列表中很重要。就我个人而言,我对后端分析器更感兴趣,因为它应该真正告诉我我的代码发生了什么——这可能是最容易更改的。

霍华德刚刚在 MWLug 大会上做了一场精彩的表演。您可能想找到这些幻灯片。 (抱歉没有那个方便)但我怀疑你可以通过他的公司网站找到它们:tlcc.com。此外,不久前有一个关于性能的网络研讨会,您可能会觉得很有趣。 https://www.youtube.com/watch?v=OXXi6cvBxGw

【讨论】:

  • 哦,我不知道 sessionScope 是特定于单个选项卡的。烦人,但有道理。
  • 没有。 SessionScope 它特定于单个选项卡......它是为用户设计的......但是如果您尝试将导航值保留在其中,则执行多个选项卡的用户可能会搞砸。关于 sessionScope 要记住的另一件事是它是浏览器会话。它不是用户会话。所以你可以注销,其他人可以登录,他们可能会从最后一个用户浏览器会话中获取一些值。您需要确保手动清除它。
【解决方案2】:

您必须小心使用 sessionScope bean - 它们会一直存在直到会话超时。根据我的经验,我写了一个little article about this。看看它是否充分解释了原因 - 以及替代方案是什么(短会话超时和保持活动功能)。

HTH

/约翰

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多