gpt4 book ai didi

mongodb - 如何确定 STARTUP2 BTree 自底向上步骤的整体进度?

转载 作者:行者123 更新时间:2023-12-04 14:33:20 33 4
gpt4 key购买 nike

确定新辅助成员初始同步 (STARTUP2) 的索引构建阶段的整体进度的好方法是什么?在我的情况下,索引构建阶段需要很长时间(几天),如果能够看到它在过程中的位置,那就太好了。

日志输出如下所示:

Tue Jan 27 20:04:45.006 [rsSync]    Index: (2/3) BTree Bottom Up Progress: 782212700/946547617  82%

就我而言,这意味着“某些对象的 82%,在数量未知、大小未知的对象中”。

最佳答案

目前没有监控这个进度的方法,尽管有一张票可以使用 rs.status() 增强对 STARTUP2 的监控:

https://jira.mongodb.org/browse/SERVER-7526
https://jira.mongodb.org/browse/SERVER-7019

也就是说,这个阶段所需的时间大致是每个索引所需的时间乘以索引数量的函数。反过来,每个索引所需的时间是每个索引中文档数量的函数。

因此,如果您测量创建索引所需的时间,请将其除以该索引中的文档总数。这应该让您大致了解索引单个文档的速度。然后将其乘以所有索引中的文档总数,这应该可以让您了解剩余时间。

现在,这是一个粗略的想法 - 会影响总时间的一件事是需要索引的数据总大小与可用内存。如果你必须创建一个索引,在创建另一个触及相同文档的索引之后,如果数据仍然缓存在内存中,它可能会快得多。无法轻松预测这一点,除了说总文档大小是否大于内存之外,由于先前的文档缓存,您不会看到太多的加速。

长期我会投票https://jira.mongodb.org/browse/SERVER-7019看看我们是否不能把它放到队列中,因为对于大型 MongoDB 数据库来说,没有它真的很痛苦。

关于mongodb - 如何确定 STARTUP2 BTree 自底向上步骤的整体进度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28180167/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com