查看数据库状态
2022-07-08
mongodb 版本 :4.2.6
查询mongodb 状态
> db.serverStatus()
{
"host" : "ip-10-23-3-217.ap-east-1.compute.internal", # 主机名
"version" : "4.2.6", # 版本
"process" : "mongod", # 进程,主要有 mongod和mongos(分片集群)两种
"pid" : NumberLong(2284), # pid进程号
"uptime" : 7901, # 启动时间,秒
"uptimeMillis" : NumberLong(7900374), # 启动的毫秒数
"uptimeEstimate" : NumberLong(7900), # mongod内部自己计算的启动秒数
"localTime" : ISODate("2022-07-08T07:30:43.043Z"), # 本地时间,
"asserts" : {
"regular" : 0,
"warning" : 0,
"msg" : 0,
"user" : 14,
"rollovers" : 0
},
# 连接相关
"connections" : {
"current" : 1, # 当前连接数
"available" : 51199, # 可用连接数
"totalCreated" : 3, # 总共创建的连接数,截止到目前为止
"active" : 1 # 活跃连接数
},
# 全局锁相关信息
"globalLock" : {
"totalTime" : NumberLong("7900367000"), # mongod启动后到现在的总时间,单位微秒
"currentQueue" : { # 当前等待锁队列
"total" : 0, # 当前全局锁的等待个数
"readers" : 0, # 当前全局读锁等待个数
"writers" : 0 # 当前全局写锁等待个数
},
"activeClients" : {
"total" : 0, # 当前活跃客户端个数
"readers" : 0, # 当前活跃客户端中进行读操作的个数
"writers" : 0 # 当前活跃客户端中进行写操作的个数
}
},
# 网络相关
"network" : {
"bytesIn" : NumberLong(4961), # 数据库接收到的网络传输字节数
"bytesOut" : NumberLong(22007), # 从数据库发送出去的网络传输字节数
"numRequests" : NumberLong(44), # mongod接收到的总请求次数
},
# 操作计数
"opcounters" : {
"insert" : NumberLong(0), # 本次 mongod 实例启动至今收到的插入操作总数
"query" : NumberLong(28), # 本次 mongod 实例启动至今收到的查询总数。
"update" : NumberLong(2), # 本次 mongod 实例启动至今收到的更新操作总数。
"delete" : NumberLong(1), # 本次 mongod 实例启动至今的删除操作总数。
"getmore" : NumberLong(0), # 本次 mongod 实例启动至今“getmore”操作的总数。
"command" : NumberLong(98) # 本次 mongod 实例启动至今向数据库发出的命令总数。
},
# 存储引擎,是 MongoDB 的核心组件,负责管理数据如何存储在硬盘(Disk)和内存(Memory)上
# MongoDB 支持多种不同的存储引擎(Storage Engine), MongoDB 支持的存储引擎有:WiredTiger, MMAPV1 和 In-Memory.
# 1. WiredTiger,将数据持久化存储在硬盘文件中;从 MongoDB 3.2 版本开始,成为 MongDB 默认存储引擎
# 2.In-Memory,将数据存储在内存中
# 3. MMAPV1, 将数据持久化存储在硬盘文件中;MongoDB 3.2 以前版本默认存储引擎
# WiredTiger 是比 MMAPV1 更好用,更强大的存储引擎,WiredTigerl 的写操作会先写入缓存(Cache)中,并持久化到 WAL (Write ahead log,写日志),每 60s 或日志文件达到 2GB 时会做一次 Checkpoint(检查点),将当前数据进行持久化,产生一个新的快照。Wiredtiger 连接初始化时,首先将数据恢复至最新的快照状态,然后根据 WAL 恢复数据,以保证存储可靠性。
# Checkpoint,检测点。将内存中的数据变更冲刷到磁盘中的数据文件中,并做一个标记点。
# 表示此前的数据表示已经持久存储在了数据文件中,此后的数据变更存在于内存和日志中。
# 是一种让数据库 redo(重做)和 data(数据)文件保持一致的机制。
# 并非 Mongodb 独有的,mysql 中的 InnoDB 也有。
"storageEngine" : {
"name" : "wiredTiger",
"supportsCommittedReads" : true,
"oldestRequiredTimestampForCrashRecovery" : Timestamp(0, 0),
"supportsPendingDrops" : true,
"dropPendingIdents" : NumberLong(0),
"supportsSnapshotReadConcern" : true,
"readOnly" : false,
"persistent" : true,
"backupCursorOpen" : false
},
# 多文档事务,mongodb4.0 以后新增特性;以前是单文档事务
"transactions" : {
"retriedCommandsCount" : NumberLong(0),
"retriedStatementsCount" : NumberLong(0),
"transactionsCollectionWriteCount" : NumberLong(0),
"currentActive" : NumberLong(0),
"currentInactive" : NumberLong(0),
"currentOpen" : NumberLong(0),
"totalAborted" : NumberLong(0),
"totalCommitted" : NumberLong(0),
"totalStarted" : NumberLong(0),
"totalPrepared" : NumberLong(0),
"totalPreparedThenCommitted" : NumberLong(0),
"totalPreparedThenAborted" : NumberLong(0),
"currentPrepared" : NumberLong(0)
},
# 锁相关;
"lock" : {
# 内存相关
"mem" : {
"bits" : 64, # 操作系统64位
"resident" : 90, # 物理内存消耗,单位:M
"virtual" : 1517, # 虚拟内存消耗
"supported" : true # 是否显示额外的内存信息
},
查看db的连接机器地址
> db.getMongo( )
connection to 127.0.0.1:27017
查看日志
> show logs
global
startupWarnings
# 查看具体文件日志
> show log global # 默认的存储位置为:/opt/mongodb/logs/mongod.log # 配置文件指定
#