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, 返回指定数据库中索引所占空间的大小
相关推荐
Aime_Perfect14 分钟前
sqlserver AlwaysOn(一)
数据库·sqlserver
HAYDENR16 分钟前
毛利率波动大可能是什么原因?毛利率变动怎么判断是否合理?
数据库
大牧师1 小时前
MySQL 学习教程
数据库·sql·mysql·docker·node·全栈·后端数据
Elastic 中国社区官方博客1 小时前
如何通过一条 ES|QL 查询为 Elasticsearch 中的每个指标构建指标图表
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索·kibana
数据库小学妹1 小时前
MySQL redo刷盘实测:innodb_flush_log_at_trx_commit与故障矩阵
运维·数据库·mysql
ByteRock1 小时前
ClickHouse 表的生老“并”死:表实例、表元数据与并发 DDL
数据库
哈__1 小时前
破除数据库排障碎片化:一体化全链路故障根因诊断实践
数据库
严同学正在努力2 小时前
SQL Server 15.0.2000.5(2019 CU5)性能分析基线构建实战教程
数据库·ai·oracle·dba
MC丶科2 小时前
软考架构师90天冲刺|DAY44·Redis高级应用
数据库·数据仓库·redis·缓存·oracle·容器·规格说明书
Boop_wu2 小时前
[redis] redis 快速入门
数据库·redis·github