大约一周前,我们在 Domino 服务器控制台上开始遇到这些 LkMgr BEGIN Long Held Lock Dump 错误消息。现在我们发现这导致 http 服务器挂起/崩溃。从我们重新启动服务器到 http 挂起只用了几分钟。我找到了它抱怨的 NoteID,它始终是一个视图设计元素。我曾尝试删除此视图并从头开始创建一个新视图,但第二天我收到了相同的 LkMgr BEGIN Long Held Lock Dump 错误消息,抱怨新的视图设计元素。
有人知道是什么原因导致这些锁吗?可以做些什么来消除它们?
如有任何相关信息,我们将不胜感激!谢谢!
谨致问候,Petter Kjeilen
答案1
长时间持有的锁定通常表示磁盘访问存在问题,而不是文档本身存在问题。从您的屏幕截图来看,它没有说明是否正在执行视图索引的更新,但这通常是导致这些问题的原因。该视图是否包含大量文档?如果是这种情况,请查看视图的设计,看看是否有办法减少其中的文档数量。
查看操作系统统计数据(在操作系统上或通过 Domino 管理员),看看磁盘队列长度是否 >1。这表明存在 I/O 问题,您需要看看是否有办法解决该问题(分布在更多磁盘上、移动到 SSD 等)。
您可以尝试在 HTTP 关闭的情况下运行该视图的更新,并查看完成需要多长时间 -
load updall db.nsf -T viewname
在此过程中以及需要很长时间才能完成时,监视磁盘队列统计信息。
另外,您可以使用 Notes 客户端打开该视图吗?设计中是否有某些东西每次都会强制刷新视图,可能是列中的 @Now 或 @Today。那将是“糟糕的”,并且有更好的方法来计算不会导致这样的性能下降。