Mongodb 中,与索引相关的监控指标

Mongodb为集合添加索引,能够提高查询的效率,减少查询过程中检索文档的数量,改变文档检索的方式。 索引,采用集合中的一部分数据,构建了B tree,支持mongodb的高效检索。除$indexStats命令外,mongodb还记录下索引数量,索引占用存储空间等信息。能够帮助mongodb使用者完成数据库服务器与索引有关的日常监控和维护。

1. db.serverStatus()记录下的索引统计信息

db.serverStatus()

db.serverStatus()返回数据库的全局监控信息,监控系统定期运行这个命令获取数据库运行实例的监控数据

    • metrics.operation.scanAndOrder 返回没有使用索引排序的查询排序总数量
    • metrics.queryExecutor.scanned 查询和生成执行计划时,索引使用的次数。这个数值与explain()中返回的totalKeysExamined数量相同

2. collStats()返回的集合层面的磁盘空间占用信息

db.runCommand({
  collstats: <collectionName>
})

//返回订单表 orders的集合统计信息
db.runCommand({
  collstats: "orders"
})
    • totalIndexSize 指定集合中索引占用存储空间的大小,包括正在构建中索引的大小。如果数据库中存在构建中的索引,则包含构建中索引的大小。
    • indexSizes 指定集合中,每个索引所占存储空间的大小。包括正在构建中索引的大小。如果数据库中存在构建中的索引,则包含构建中索引的大小。

3. dbStats()记录的数据库级别索引统计信息.

dbStats()与serverStatus()查询mongodb中不同层次的监控信息。 serverStatus()返回数据库运行实例的监控信息。 技术人员使用mongodb shell登陆进入mongodb以后,可以通过show dbs命令查看数据库列表。 dbStats()命令返回的就是show dbs结果集中一个db的统计信息。

db.runCommand({
  dbStats: 1
})
    • dbStats.indexes, 返回指定数据库中索引的数量
    • dbStats.indexSize, 返回指定数据库中索引所占空间的大小
相关推荐
qq_2131578914 分钟前
(c#)unity中sqlite多线程同时开启事务会导致非常慢
数据库·sqlite·c#
北极无雪20 分钟前
Spring源码学习(拓展篇):SpringMVC中的异常处理
java·开发语言·数据库·学习·spring·servlet
666xiaoniuzi41 分钟前
深入理解 C 语言中的内存操作函数:memcpy、memmove、memset 和 memcmp
android·c语言·数据库
正在走向自律1 小时前
3.使用条件语句编写存储过程(3/10)
数据库·存储过程·安全架构
YONG823_API1 小时前
电商平台数据批量获取自动抓取的实现方法分享(API)
java·大数据·开发语言·数据库·爬虫·网络爬虫
小小不董1 小时前
图文深入理解Oracle DB Scheduler
linux·运维·服务器·数据库·oracle
大拇指的约定2 小时前
数据库(MySQL):使用命令从零开始在Navicat创建一个数据库及其数据表(三),单表查询
数据库·mysql·oracle
阳光阿盖尔2 小时前
redis——哨兵机制
数据库·redis·缓存·主从复制·哨兵
小小娥子2 小时前
【Redis】Hash类型的常用命令
数据库·spring boot·redis
盒马盒马2 小时前
Redis:cpp.redis++通用接口
数据库·c++·redis