MongoDB 3.0 上 db.serverStatus() 中的 IndexCounter 在哪里

Where is the IndexCounter in db.serverStatus() on MongoDB 3.0

我在 mongostat 中看到 idx 遗漏 % 但是当我 运行

db.serverStatus().indexCounters

没有回应。我在哪里可以找到这个?还有一个问题,我应该关注的适当页面错误值是多少?

indexCounters 信息特定于 MMAP 存储,并不完全准确(有关某些示例,请参阅:SERVER-9296, SERVER-9284, and SERVER-14583). The indexCounters section was removed during the development cycle leading up to MongoDB 3.0 along with some other former metrics like recordStats and workingSet. See: SERVER-16378 以及 MongoDB Jira 问题跟踪器中对相关问题的讨论。

如果您启用了 WiredTiger 存储引擎,请注意 serverStatus() 输出中将有一个新的 wiredTiger 部分,其中包含相关指标。

what is the appropriate page fault value I should concern?

页面错误可以很好地代表您的工作集是否适合 MMAP 内存,但具体的关注值将取决于您的部署以及是否有任何明显的性能影响。持续高的硬页面错误(数据需要从磁盘加载到 RAM)会增加 I/O 压力,但这可能并不重要,具体取决于您的磁盘配置和整体工作负载。

一般的最佳做法是使用像 MMS (MongoDB Management Service) 这样的监控系统来捕获部署指标的历史基线,这样您就可以在观察到性能问题时查找痛点。

MongoDB 手册的 Production Notes 部分也值得一读。例如,如果您使用 Linux,有一些关于调整文件系统和预读参数的建议,这些参数会影响从磁盘读取数据的效率。

有关如何处理指标的想法,请参阅:Five MMS monitoring alerts to keep your MongoDB deployment on track。这个博客 post 已经有几年历史了,但确定正常、令人担忧和临界限值(以及识别误报)的一般方法仍然非常相关。