MongoDB高频命令集合
1、MongoDB查看连接数
> db.serverStatus().connections { "current" : 10, # 当前连接数 "available" : 19990, # 可用连接数 "totalCreated" : 10706 # 截止目前为止总共创建的连接数 }
2、MongoDB查看基本信息
> db.serverStatus() { "host" : "913c765620c9", # 主机名 "version" : "3.6.8", # MongoDB版本 "process" : "mongod", # mongodb进程,主要有mongod和mongos(分片集群中)两种 "pid" : NumberLong(33), # mongod的pid进程号,可用shell的pidof mongod命令验证 "uptime" : 89256, # mongod服务启动后到现在已经存活的秒数 "uptimeMillis" : NumberLong(89255830), # mongod服务启动后到现在已经存活的毫秒数 "uptimeEstimate" : NumberLong(89255), # mongod内部计算出来的存活秒数 "localTime" : ISODate("2021-08-26T03:58:13.812Z"), # 本地时间 …… }
3、MongoDB查看锁信息
Mongodb有4种锁:r,R,w,W
R # 共享锁(S)
W # 排它锁(X)
r # 意向共享锁(IS)
w # 意向排它锁(IX)
> db.serverStatus().connections { "Global" : { "timeLockedMicros": { "R" :NumberLong(2532219), # mongod启动后所有库持有全局读锁的总微秒数 "W" :NumberLong(2022505) # mongod启动后所有库持有全局写锁的总微秒数 }, "timeAcquiringMicros": { "R" :NumberLong(1489378), # mongod启动后所有库全局读锁的锁等待的总微秒数 "W" :NumberLong(361350) # mongod启动后所有库全局写锁的锁等待的总微秒数 } }, "admin" : { "timeLockedMicros": { "r" :NumberLong(277350),# mongod启动后admin数据库持有的读锁时间 "w" :NumberLong(0) # mongod启动后admin数据库持有的写锁时间 }, "timeAcquiringMicros": { "r" :NumberLong(11011), # mongod启动后admin数据库的读锁的锁等待总时间 "w" :NumberLong(0) # mongod启动后admin数据库的写锁的锁等待总时间 } }, "local" : { "timeLockedMicros": { "r" :NumberLong(29750564), "w" :NumberLong(737) }, "timeAcquiringMicros": { "r" :NumberLong(4074456), "w" :NumberLong(46) } }, "stargao" : { "timeLockedMicros": { "r" :NumberLong(935802), # mongod启动后stargao数据库持有的读锁时间 "w" :NumberLong(98) # mongod启动后stargao数据库持有的写锁时间 }, "timeAcquiringMicros": { "r" :NumberLong(262185), # mongod启动后stargao数据库的读锁的锁等待总时间 "w" : NumberLong(9) # mongod启动后stargao数据库的写锁的锁等待总时间 } }, }
4、MongoDB查看全局锁信息
>db.serverStatus().globalLock { "totalTime" :NumberLong("172059990000"), # mongod启动后到现在的总时间,单位微秒 "lockTime" :NumberLong(2031058), # mongod启动后全局锁锁住的总时间,单位微秒 "currentQueue" : { "total" : 0, # 当前的全局锁等待锁等待的个数 "readers" : 0, # 当前的全局读锁等待个数 "writers" : 0 # 当前全局写锁等待个数 }, "activeClients" : { "total" : 0, # 当前活跃客户端的个数 "readers" : 0, # 当前活跃客户端中进行读操作的个数 "writers" : 0 # 当前活跃客户端中进行写操作的个数 } }
5、MongoDB查看内存信息
>db.serverStatus().mem { "bits" : 64, # 操作系统位数 "resident" : 76, # 物理内存消耗,单位M "virtual" : 1562, # 虚拟内存消耗 "supported" : true, # 为true表示支持显示额外的内存信息 "mapped" : 171399, # 映射内存 "mappedWithJournal" : 328798 # 除了映射内存外还包括journal日志消耗的映射内存 }
6、MongoDB查看额外信息
>db.serverStatus().extra_info { "note" : "fields vary byplatform", # 表示当前这个extra_info的显示信息依赖于底层系统 "heap_usage_bytes" :11012, # 堆内存空间占用的字节数,仅linux适用 "page_faults" : 110081 # 数据库访问数据时发现数据不在内存时的页面数量,当数据库性能很差或者数据量极大时,这个值会显著上升 }
7、MongoDB索引统计信息
>db.serverStatus().indexCounters { "accesses" : 35369670951, # 索引访问次数,值越大表示你的索引总体而言建得越好,如果值增长很慢,表示系统建的索引有问题 "hits" : 35369213426, # 索引命中次数,值越大表示mogond越好地利用了索引 "misses" : 0, # 表示mongod试图使用索引时发现其不在内存的次数,越小越好 "resets" : 0, # 计数器重置的次数 "missRatio" : 0 # 丢失率,即misses除以hits的值 }
8、MongoDB刷盘情况
>db.serverStatus().backgroundFlushing { "flushes" : 171675, # 数据库刷新写操作到磁盘的总次数,会逐渐增长 "total_ms" : 432943335, # mongod写数据到磁盘消耗的总时间,单位ms, "average_ms" :2521.8775884665793, # 上述两值的比例,表示每次写磁盘的平均时间 "last_ms" : 5329, # 当前最后一次写磁盘花去的时间,ms,结合上个平均值可观察到mongd总体写性能和当前写性能 "last_finished" :ISODate("2021-08-26T07:39:11.881Z") # 最后一次写完成的时间 }
9、MongoDB游标信息
>db.serverStatus().cursors { "note" : "deprecated,use server status metrics", # 表示也可使用b.serverStatus().metrics.cursor命令看看 "clientCursors_size" : 2, # mongodb当前为客户端维护的游标个数 "totalOpen" : 2, # 和clientCursors_size一样 "pinned" : 0, # 打开的pinned类型的游标个数 "totalNoTimeout" : 0, # 设置了经过一段不活跃时间以后不设置超时,即参数“ DBQuery.Option.noTimeout”值以后,打开的游标个数 "timedOut" : 11 # 从mongod启动以来的游标超时个数,如果这个值很大或者一直在增长,可能显示当前应用程序有错误 }
10、MongoDB网络信息
>db.serverStatus().network { "bytesIn" : NumberLong(93664665), # 数据库接收到的网络传输字节数,可通过该值观察是否到了预计的期望值 "bytesOut" : NumberLong(1352994963), # 从数据库发送出去的网络传输字节数 "physicalBytesIn" : NumberLong(83261796), "physicalBytesOut" : NumberLong(1329475811), "numRequests" : NumberLong(369766), # mongod接收到的总的请求次数 "compression" : { "snappy" : { "compressor" : { "bytesIn" : NumberLong(105616353), "bytesOut" : NumberLong(79531394) }, "decompressor" : { "bytesIn" : NumberLong(71564220), "bytesOut" : NumberLong(96573759) } } }, "serviceExecutorTaskStats" : { "executor" : "passthrough", "threadsRunning" : 10 } }
11、MongoDB查看副本信息
> db.serverStatus().repl { "hosts" : [ # 副本集组成 "192.168.0.40:27017", "192.168.0.116:27017" ], "arbiters" : [ "192.168.0.197:27017" ], "setName" : "udb-vgtzs5rk", # 副本集名称 "setVersion" : 3, # 当前版本,每修改一次配置会自增1 "ismaster" : true, # 当前节点是否为master "secondary" : false, # 当前节点是否为slave "primary" : "192.168.0.40:27017", # master所在的ip地址 "me" : "192.168.0.40:27017", # 当前节点的ip地址 "electionId" : ObjectId("7fffffff0000000000000001"), "lastWrite" : { "opTime" : { "ts" : Timestamp(1629956428, 1), "t" : NumberLong(1) }, "lastWriteDate" : ISODate("2021-08-26T05:40:28Z"), "majorityOpTime" : { "ts" : Timestamp(1629956428, 1), "t" : NumberLong(1) }, "majorityWriteDate" : ISODate("2021-08-26T05:40:28Z") }, "rbid" : 1 }
12、MongoDB副本集的操作计数器
> db.serverStatus().opcountersRepl { "insert" : 0, # mongod replication最近一次启动后的insert次数 "query" : 0, "update" : 0, "delete" : 0, "getmore" : 0, "command" : 0 }
13、MongoDB操作计数器
>db.serverStatus().opcounters { "insert" : 17476744, # mongod最近一次启动后的insert次数 "query" : 4923585, # mongod最近一次启动后的query次数 "update" : 445136, # mongod最近一次启动后的update次数 "delete" : 301953, # mongod最近一次启动后的delete次数 "getmore" : 28737548, # mongod最近一次启动后的getmore次数,这个值可能会很高,因为子节点会发送getmore命令,作为数据复制操作的一部分 "command" : 32844821 # mongod最近一次启动后的执行command命令的次数 }
14、MongoDB Asserts计数
>db.serverStatus().asserts { "regular" : 65, # 服务启动后正常的asserts错误个数,可通过log查看更多该信息 "warning" : 1, # 服务启动后的warning个数 "msg" : 0, # 服务启动后的message assert个数 "user" : 20955213, # 服务启动后的user asserts个数 "rollovers" : 0 # 服务启动后的重置次数 }
15、查看副本集状态
> rs.status() { "set" : "stargao-cluster", "date" : ISODate("2021-09-08T07:13:18.275Z"), "myState" : 1, "term" : NumberLong(54), "heartbeatIntervalMillis" : NumberLong(2000), "members" : [ { "_id" : 4, "name" : "10.0.0.1:27017", "health" : 1, "state" : 7, "stateStr" : "ARBITER", "uptime" : 100644, "lastHeartbeat" : ISODate("2021-09-08T07:13:17.463Z"), "lastHeartbeatRecv" : ISODate("2021-09-08T07:13:17.463Z"), "pingMs" : NumberLong(0), "configVersion" : 256744 }, { "_id" : 9, "name" : "10.0.0.2:27017", "health" : 1, "state" : 1, "stateStr" : "PRIMARY", "uptime" : 100718, "optime" : { "ts" : Timestamp(1631085198, 97), "t" : NumberLong(54) }, "optimeDate" : ISODate("2021-09-08T07:13:18Z"), "electionTime" : Timestamp(1630984564, 1), "electionDate" : ISODate("2021-09-07T03:16:04Z"), "configVersion" : 256744, "self" : true }, { "_id" : 10, "name" : "10.0.0.27:27017", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 88554, "optime" : { "ts" : Timestamp(1631085196, 240), "t" : NumberLong(54) }, "optimeDate" : ISODate("2021-09-08T07:13:16Z"), "lastHeartbeat" : ISODate("2021-09-08T07:13:16.640Z"), "lastHeartbeatRecv" : ISODate("2021-09-08T07:13:17.886Z"), "pingMs" : NumberLong(0), "syncingTo" : "10.9.102.243:27017", "configVersion" : 256744 } ], "ok" : 1 }
16、查看副本集优先级
> rs.config(); { "_id" : "stargao-cluster", "version" : 256744, "protocolVersion" : NumberLong(1), "members" : [ { "_id" : 4, "host" : "10.0.0.1:27017", "arbiterOnly" : true, "buildIndexes" : true, "hidden" : false, "priority" : 1, "tags" : { }, "slaveDelay" : NumberLong(0), "votes" : 1 }, { "_id" : 9, "host" : "10.0.0.2:27017", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : false, "priority" : 1, "tags" : { }, "slaveDelay" : NumberLong(0), "votes" : 1 }, { "_id" : 10, "host" : "10.0.0.3:27017", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : false, "priority" : 1, "tags" : { }, "slaveDelay" : NumberLong(0), "votes" : 1 } ], "settings" : { "chainingAllowed" : true, "heartbeatIntervalMillis" : 2000, "heartbeatTimeoutSecs" : 10, "electionTimeoutMillis" : 10000, "getLastErrorModes" : { }, "getLastErrorDefaults" : { "w" : 1, "wtimeout" : 0 }, "replicaSetId" : ObjectId("5996b5557e2461f8669b82a3") } }
作者:UStarGao
链接:https://www.starcto.com/mongodb/220.html
来源:STARCTO
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
UCloud云平台推荐
随便看看
- 2021-10-08Microsoft SQL Server安装部署教程
- 2024-09-01基于UCloud云主机自建K8S集群
- 2021-07-12Linux日志分析技巧(安全)
- 2021-04-03CentOS7安装部署PostgreSQL 12数据库
- 2021-02-17搭建图形化容器镜像仓库-harbor