Domino 8.5.3 视图索引阻止对其他视图的访问和 HTTP 线程池饱和

Domino 8.5.3 视图索引阻止对其他视图的访问和 HTTP 线程池饱和

Domino 8.5.3,Windows 2008 R2 在 ESX VM 上运行。

我的问题不是关于视图性能,而是关于索引过程以及它如何影响服务器上的其他过程。如果正在对 1 个视图进行索引,则似乎所有视图的访问都将被“阻止”,直到该索引过程启动。所有访问都是通过 http 任务进行的,因此当用户 http 请求触发要对视图进行索引时,任务管理器会显示 HTTP 占用了 CPU。

我们的 notes.ini 中的一些设置:

更新者=2

UPDATE_NO_VIEWS=1 我知道这一点:http://www-10.lotus.com/ldd/dominowiki.nsf/dx/http-and-view-index-performance ...如果需要的话,我可以提供更多细节来说明我们这样做的原因。

VIEW_REBUILD_DIR=E:\tmpdom\

我们采取措施来避免上述情况,但我们时常遇到的情况简化如下:

一个包含 300,000 个文档和 4 个视图(A、B、C、D)的数据库,以及一个通过 http 访问的 API,该 API 返回来自视图 A、B、C、D 的数据。在“预期”满负荷应用程序负载下,HTTP 线程池(在我们的例子中为 40)永远不会饱和。所有视图都会不断被访问,因此视图索引始终是最新的……在特定情况下可以接受,如果需要,我可以更详细地介绍。

现在假设视图 D 需要重新索引。用户随机访问所有 4 个视图,一旦用户使用从视图 D 检索数据的 API 调用,就会开始重新索引,访问视图 A、B、C 中的数据的所有其他用户现在都将被阻止。线程池队列很快上升到 40,所有请求都被池化,因此应用程序基本上停止工作。由于每分钟有 1,000 个请求到来,增加线程池将毫无意义。

因此,如果视图索引从视图 D 开始,则对所有其他视图的访问都会被阻止,直到它完成为止。我的理解是否正确?有什么方法可以改变这种行为?例如,不要阻止对其他视图的访问。

提前感谢任何意见或评论。

相关内容