NotesDocument.closeMIMEEntities() 导致性能下降
Performance drop due to NotesDocument.closeMIMEEntities()
将我的 XPages 应用程序从一台 Domino 服务器移动到另一台(版本 9.0.1 FP4 和类似硬件)后,应用程序的性能急剧下降。基准显示
的执行
doc.closeMIMEEntities(false,"body")
在旧服务器上需要 ~0.1ms,现在在新服务器上平均需要 >10ms。如果只是几篇文档,这种差异并不重要,但在初始化应用程序时,我阅读了 1000 多篇文档,因此初始化时间从不到 1 秒变为超过 10 秒。
在代码中,我使用上面的行关闭 MIME 实体,而不保存在 读取 之后的任何更改(不写入 ).该函数在两台服务器上始终 returns 为真。尽管实体中没有任何更改,但现在仍然需要 100 多倍的时间。
两台服务器计算机的硬件或多或少相同,而且我的应用程序的副本在两台服务器上包含相同的设计和数据,这让我相信问题与Domino 服务器。
有人可以帮我解决这个问题吗?
PS:我总是在打开 NotesDocument 之前使用 session.setConvertMime(false)
,即从 MIME 到 RichText 的转换 应该 不是导致问题的原因。
PPS: HTTPJVMMaxHeapSize
在两台服务器上相同(1024M)并且有多个 100Mb 的空闲内存。我只是提到这一点,以防有人认为问题可能与内存不足有关。
问题与“" in Domino 9.0.1 FP4. It has already been solved with Interim Fix 1 (as pointed out by @KnutHerrmann ”有关。
原来旧的 Domino 服务器安装了 Interim Fix 1,而 "new" 没有。将修复应用到新的 Domino 服务器后,性能恢复正常,一切都按预期工作。
将我的 XPages 应用程序从一台 Domino 服务器移动到另一台(版本 9.0.1 FP4 和类似硬件)后,应用程序的性能急剧下降。基准显示
的执行doc.closeMIMEEntities(false,"body")
在旧服务器上需要 ~0.1ms,现在在新服务器上平均需要 >10ms。如果只是几篇文档,这种差异并不重要,但在初始化应用程序时,我阅读了 1000 多篇文档,因此初始化时间从不到 1 秒变为超过 10 秒。
在代码中,我使用上面的行关闭 MIME 实体,而不保存在 读取 之后的任何更改(不写入 ).该函数在两台服务器上始终 returns 为真。尽管实体中没有任何更改,但现在仍然需要 100 多倍的时间。
两台服务器计算机的硬件或多或少相同,而且我的应用程序的副本在两台服务器上包含相同的设计和数据,这让我相信问题与Domino 服务器。
有人可以帮我解决这个问题吗?
PS:我总是在打开 NotesDocument 之前使用 session.setConvertMime(false)
,即从 MIME 到 RichText 的转换 应该 不是导致问题的原因。
PPS: HTTPJVMMaxHeapSize
在两台服务器上相同(1024M)并且有多个 100Mb 的空闲内存。我只是提到这一点,以防有人认为问题可能与内存不足有关。
问题与“
原来旧的 Domino 服务器安装了 Interim Fix 1,而 "new" 没有。将修复应用到新的 Domino 服务器后,性能恢复正常,一切都按预期工作。