【发布时间】:2014-05-19 08:34:30
【问题描述】:
上周我们一直在做一个关于业务关键 XPage 应用程序的噩梦,突然间它开始爬得很厉害,以至于我必须每天重新启动服务器,即使这样,有些页面仍然可以需要 30 秒才能打开。
服务器有 12GB RAM 和 2 个 CPU,我正在等待再添加 2 个,看看是否有帮助。
数据库中有大约 100,000 个文档,在任何一个视图中显示的文档不超过 50,000 个。 相同的数据库设置为具有更少文档的培训应用程序,即使在主副本爬行时,在同一台服务器上也始终响应。
这个应用程序中有许多视图面板 - 我读过这些面板真的很慢。我应该摆脱它们并用重复控件替换吗?
在包含角色的文档上还有读者字段,以及作者字段,因为它是一个工作流应用程序。
我在周末从后端删除了很多不必要的视图,以帮助加快速度,但这并没有起到什么作用。
有什么想法可以让我检查一下是什么导致了这种巨大的性能损失?它只是在上周才真正变得不可行,但据我所知,设计中没有任何改变,除了我删除了一些旧视图。
【问题讨论】:
-
三个潜在原因:内存泄漏(你.recycle()你所有的自定义对象),视图序列(使用阅读器字段键)和太多的view.refresh
-
当我设置 NotesDocument 等笔记对象时,我知道 SSJS(和 Java)中的回收。你对 recycle() all custom objects 是什么意思?
-
您是否使用对每个文档具有读取权限的用户帐户进行了测试以查看速度?尝试消除 reader 字段的问题。
-
速度有没有突然的剧烈变化?我的问题是您的 FT 索引是否可能已丢失并且它正在生成临时索引,或者是否有任何最近的开发已移至该服务器,可能使恶意代理陷入无限循环。
标签: performance views xpages repeat