Performance XPages性能-同一服务器上有2个应用程序,1个运行,1个不运行';T

Performance XPages性能-同一服务器上有2个应用程序,1个运行,1个不运行';T,performance,views,xpages,repeat,Performance,Views,Xpages,Repeat,上周,一个关键业务的XPage应用程序让我们经历了一场噩梦,它突然开始严重爬行,以至于我每天都要重新启动服务器,甚至有些页面可能需要30秒才能打开 服务器有12GB的RAM和2个CPU,我正在等待另外2个CPU被添加,看看这是否有帮助 数据库中有大约100000个文档,在任何一个视图中显示的文档不超过50000个。 在同一台服务器上设置为培训应用程序的同一个数据库的文档要少得多,即使主副本正在爬行,它也会始终做出响应 在这个应用程序中有很多视图面板——我读过,它们非常慢。我应该去掉它们并替换为重

上周,一个关键业务的XPage应用程序让我们经历了一场噩梦,它突然开始严重爬行,以至于我每天都要重新启动服务器,甚至有些页面可能需要30秒才能打开

服务器有12GB的RAM和2个CPU,我正在等待另外2个CPU被添加,看看这是否有帮助

数据库中有大约100000个文档,在任何一个视图中显示的文档不超过50000个。 在同一台服务器上设置为培训应用程序的同一个数据库的文档要少得多,即使主副本正在爬行,它也会始终做出响应

在这个应用程序中有很多视图面板——我读过,它们非常慢。我应该去掉它们并替换为重复控件吗

由于它是一个工作流应用程序,文档中还包含了包含角色的Readers字段和authors字段

我在周末从后端删除了很多不必要的视图,以帮助加快它的速度,但这做得很少


有什么办法可以让我看看是什么导致了如此巨大的性能损失吗?这只是在上周才真正变得不可行,但据我所知,除了删除一些旧视图外,设计中没有任何变化

尝试获取有关服务器和应用程序状态的更多信息

硬件故障排除总结如下:

根据您的经验-只有两个应用程序中的一个会减慢速度,这是一个相当大的代码问题。最好是分析代码:

要深入了解,您可以开始查找信号量锁:,或者查看javadumps:和NSD以及垃圾收集器


这很好地概述了Domino疑难解答(以及web上的许多其他疑难解答)。

好的,我们通过做一些事情来解决性能问题。我将按照改进的顺序列出我们所做的更改,首先是一些不太明显的简单调整

  • 碎片整理Domino驱动器-它显示为32%的碎片,我认为我是一个赢家,但碎片整理后,它真的没有更好。尽管IBM文档称即使1%的碎片也会导致性能问题

  • 查看了应用程序中的所有主要代码,并在可以用applicationScope变量替换它们时进行了大量不必要的查找。例如,在搜索页面上,其中一个下拉选项通过对数据库中的所有文档执行@Unique查找来获取其选择。将其更改为关键字并将其放入应用程序范围

  • 已删除对database.queryAccessRole的多个检查,并将用户角色放在会话范围中

  • DB有103000个文档,其中70000个是小文档,上面有5个字段。它们不需要被FTIndex索引,所以我们将它们移到一个单独的数据库中,并在需要这些文档时将数据源指向该数据库。FTIndex从500mb增加到200mb=更快的索引和搜索,但应用程序的总体性能仍然是垃圾

  • 最重要的一点是,我终于开始检查应用程序属性“高级”选项卡。我设置了以下选项: 优化文档表映射(运行copystyle compact) 不要覆盖可用空间 不支持专门的响应层次结构 使用LZ1压缩(运行copystyle compact,带有更改现有附件的选项-ZU) 不允许标题监视 将$UpdatedBy和$Revisions中的条目限制为10(根据domino文档)

  • 而且也不允许使用存储的表单

    现在我不知道这些选项中哪一个是最大的收益,并且不是所有的选项都适用于您自己的应用程序,但是在这样做之后,应用程序会飞起来!它的运行就像那里根本没有文档一样,视图加载速度非常快,文档打开速度非常快,每个人都很高兴

    在http线程被锁定之前-这是我将要发布的另一个问题,所以如果您对发生的事情有任何想法,请查看:-)


    感谢所有建议尝试的人

    三个潜在原因:内存泄漏(you.recycle()所有自定义对象)、视图序列(使用读卡器字段键)和view.refresh过多。当我设置notes对象(如NotesDocument等)时,我知道SSJS(和Java)中的循环。关于recycle()你是什么意思所有自定义对象?您是否测试过使用对每个文档都具有读取权限的用户帐户查看速度?试图消除读者领域的问题。速度是否有突然的戏剧性变化?我的问题是,您的FT索引是否已经丢失,它是否正在生成临时索引,或者是否有任何最近的发展已经转移到此服务器,可能会让流氓代理陷入无限循环。有趣的是,change 5(“大的一个”)改进了很多。如果知道这些变化中的哪一个是主要原因,那就太好了。也许您可以一个接一个地删除它们,然后重新测试,直到再次达到糟糕的性能?:-)我猜这将是使用存储表单(禁用此功能)和优化的文档映射。