MST

星途 面试题库

面试题:MongoDB中查看当前状态常用命令及含义

请简述在MongoDB中快速查看当前状态常用的命令,并说明每个命令所返回信息的含义。
11.7万 热度难度
数据库MongoDB

知识考点

AI 面试

面试题答案

一键面试
  1. db.stats()
    • 返回信息含义
      • db:数据库名称。
      • collections:数据库中的集合数量。
      • objects:数据库中的文档(记录)数量。
      • avgObjSize:平均每个文档的大小(以字节为单位)。
      • dataSize:数据库中所有文档数据的总大小(以字节为单位)。
      • storageSize:数据库占用的存储空间大小(以字节为单位),这可能大于dataSize,因为存在分配但未使用的空间等情况。
      • numExtents:数据库使用的区(extents)数量,区是MongoDB分配空间的逻辑单位。
      • indexes:数据库中的索引数量。
      • indexSize:所有索引占用的总大小(以字节为单位)。
      • fileSize:数据库文件的大小(以字节为单位)。
  2. serverStatus()
    • 返回信息含义
      • 基本信息
        • host:服务器主机名。
        • version:MongoDB版本号。
        • process:进程名称,例如mongod
      • 内存相关
        • mem:包含内存使用情况,如resident(常驻内存大小,以MB为单位)、virtual(虚拟内存大小,以MB为单位)、supported(系统是否支持内存映射文件,布尔值)等。
      • 连接相关
        • connections:当前服务器的连接信息,current表示当前活动连接数,available表示可用连接数(在启用连接池等机制时有用)。
      • 操作相关
        • opcounters:各种操作的计数器,如insertqueryupdatedelete等操作的执行次数。
      • 复制集相关(如果是复制集成员)
        • repl:包含复制集角色(如primarysecondary等)、setName(复制集名称)等信息。
      • 存储引擎相关
        • storageEngine:存储引擎的名称(如wiredTiger)以及相关统计信息,不同存储引擎的具体信息不同,例如wiredTiger会有cache相关的使用统计等。
  3. db.getReplicationInfo()
    • 返回信息含义
      • 主节点相关
        • logSizeMB:主节点上oplog(操作日志)的大小(以MB为单位)。
        • usedMB:oplog已使用的空间大小(以MB为单位)。
        • timeDiff:从当前时间到oplog中最旧操作的时间差(以秒为单位),反映了从节点落后主节点的大致时间(在正常复制情况下)。
      • 从节点相关(如果是从节点调用此命令)
        • 会有相关从节点同步状态的信息,如与主节点的延迟等。
  4. db.getShardingStatus()
    • 返回信息含义
      • 集群信息
        • sharding version:分片版本号。
        • clusterIdentity:集群标识。
      • 数据库分片信息
        • 每个数据库的分片配置,包括哪些集合被分片,以及片键(shard key)等信息。对于每个分片的集合,会显示其所在的片(shard)以及片键范围等。