serverStatus

在本页面

Definition

db.runCommand( { serverStatus: 1 } )

该值(即上面的1)不会影响该命令的操作。 mongoShell 程序为命令提供db.serverStatus()包装器。

See also

serverStatus的大部分输出也由mongostat动态显示。有关更多信息,请参见mongostat命令。

Behavior

默认情况下,serverStatus在其输出中排除repl文档中的某些内容。

要包括默认情况下不包括的字段,请指定顶级字段并将其在命令中设置为1。要排除默认包含的字段,请指定顶级字段并在命令中设置为0

例如,以下操作禁止输出中的replmetricslocks信息。

db.runCommand( { serverStatus: 1, repl: 0, metrics: 0, locks: 0 } )

以下示例在输出中包含所有repl信息:

db.runCommand( { serverStatus: 1,  repl: 1 } )

Output

Note

输出字段取决于 MongoDB 的版本,底层 os 平台,存储引擎以及节点的类型(包括mongosmongodreplica set成员)而有所不同。

对于特定于您的 MongoDB 版本的serverStatus输出,请参阅《 MongoDB 手册》的相应版本。

Instance Information

"host" : <string>,
"advisoryHostFQDNs" : <array>,
"version" : <string>,
"process" : <"mongod"|"mongos">,
"pid" : <num>,
"uptime" : <num>,
"uptimeMillis" : <num>,
"uptimeEstimate" : <num>,
"localTime" : ISODate(""),

系统的完全限定域名(FQDN)的数组。

asserts

"asserts" : {
   "regular" : <num>,
   "warning" : <num>,
   "msg" : <num>,
   "user" : <num>,
   "rollovers" : <num>
},

backgroundFlushing

"backgroundFlushing" : {
   "flushes" : <num>,
   "total_ms" : <num>,
   "average_ms" : <num>,
   "last_ms" : <num>,
   "last_finished" : ISODate("...")
},

Note

backgroundFlushing信息仅针对使用MMAPv1存储引擎的实例显示。

随着flushes的值增加,average_ms更有可能代表“正常”时间。但是,异常数据会使该值偏斜。使用backgroundFlushing.last_ms检查瞬时历史问题或随机写入分布是否不偏高平均值。

还要考虑正在进行的操作,这些操作可能会通过例行阻止写操作来歪曲此值。

connections

"connections" : {
   "current" : <num>,
   "available" : <num>,
   "totalCreated" : NumberLong(<num>)
},

该值将包括所有传入连接,包括任何 Shell 程序连接或来自其他服务器的连接,例如replica set成员或mongos实例。

dur (Journaling)

"dur" : {
   "commits" : <num>,
   "journaledMB" : <num>,
   "writeToDataFilesMB" : <num>,
   "compression" : <num>,
   "commitsInWriteLock" : <num>,
   "earlyCommits" : <num>,
   "timeMs" : {
      "dt" : <num>,
      "prepLogBuffer" : <num>,
      "writeToJournal" : <num>,
      "writeToDataFiles" : <num>,
      "remapPrivateView" : <num>,
      "commits" : <num>,
      "commitsInWriteLock" : <num>
   }
},

Note

dur(日记)信息仅针对使用MMAPv1存储引擎并启用日记的mongod实例显示。

( journaled_size_of_data / uncompressed_size_of_data )

extra_info

"extra_info" : {
   "note" : "fields vary by platform.",
   "heap_usage_bytes" : <num>,
   "page_faults" : <num>
},

Windows 在涉及磁盘 I/O 的“硬”页面错误和仅需要在内存中移动页面的“软”页面错误之间进行区分。 MongoDB 在此统计信息中同时统计硬页面错误和软页面错误。

globalLock

"globalLock" : {
   "totalTime" : <num>,
   "currentQueue" : {
      "total" : <num>,
      "readers" : <num>,
      "writers" : <num>
   },
   "activeClients" : {
      "total" : <num>,
      "readers" : <num>,
      "writers" : <num>
   }
},

通常,locks文档提供了有关锁用途的更多详细数据。

始终保持较小的队列,尤其是较短的操作队列,应该引起关注。 globalLock.activeClientsReader 和 Writer 信息提供了此数据的上下文。

使用此数据为globalLock.currentQueue数据提供上下文。

logicalSessionRecordCache

3.6 版的新功能。

"logicalSessionRecordCache" : {
   "activeSessionsCount" : <num>,
   "sessionsCollectionJobCount" : <num>,
   "lastSessionsCollectionJobDurationMillis" : <num>,
   "lastSessionsCollectionJobTimestamp" : <Date>,
   "lastSessionsCollectionJobEntriesRefreshed" : <num>,
   "lastSessionsCollectionJobEntriesEnded" : <num>,
   "lastSessionsCollectionJobCursorsClosed" : <num>,
   "transactionReaperJobCount" : <num>,
   "lastTransactionReaperJobDurationMillis" : <num>,
   "lastTransactionReaperJobTimestamp" : <Date>,
   "lastTransactionReaperJobEntriesCleanedUp" : <num>
},

locks

"locks" : {
   <type> : {
         "acquireCount" : {
            <mode> : NumberLong(<num>),
            ...
         },
         "acquireWaitCount" : {
            <mode> : NumberLong(<num>),
            ...
         },
         "timeAcquiringMicros" : {
            <mode> : NumberLong(<num>),
            ...
         },
         "deadlockCount" : {
            <mode> : NumberLong(<num>),
            ...
         }
   },
   ...

针对每个锁<type>报告锁<modes>上的数据的文档。

可能的锁<types>为:

Lock Type Description
Global 代表全局锁定。
MMAPV1Journal 表示 MMAPv1 存储引擎特定的锁,用于同步日志写入;对于非 MMAPv1 存储引擎,MMAPV1Journal的模式为空。
Database 表示数据库锁定。
Collection 表示收集锁。
Metadata 表示元数据锁定。
oplog 表示锁定oplog

可能的<modes>是:

Lock Mode Description
R 表示共享(S)锁。
W 表示排他(X)锁。
r 表示共享意图(IS)锁。
w 表示 Intent Exclusive(IX)锁。

所有值均为NumberLong()类型。

locks.timeAcquiringMicros除以locks.acquireWaitCount得出特定锁定模式的平均 await 时间。

network

"network" : {
   "bytesIn" : <num>,
   "bytesOut" : <num>,
   "numRequests" : <num>
},

opLatencies

仅适用于``mongod''实例

"opLatencies" : {
   "reads" : <document>,
   "writes" : <document>,
   "commands" : <document>
},

只有mongod个实例报告opLatencies

opReadConcernCounters

版本 3.6.11 中的新功能。

仅适用于 mongod 实例

"opReadConcernCounters" : {
   "available" : NumberLong(<num>),
   "linearizable" : NumberLong(<num>),
   "local" : NumberLong(<num>),
   "majority" : NumberLong(<num>),
   "snapshot" : NumberLong(<num>),
   "none" :  NumberLong(<num>)
}

自上次启动以来,向mongod实例报告由查询操作指定的阅读关注度的文档。

指定w Description
"available" 指定读取关注级别"available"的查询操作数。
"linearizable" 指定读取关注级别"linearizable"的查询操作数。
"local" 指定读取关注级别"local"的查询操作数。
"majority" 指定读取关注级别"majority"的查询操作数。
"snapshot" 指定读取关注级别"snapshot"的查询操作数。
"none" 未指定读取关注级别而是使用默认值阅读关注度的查询操作数。

opReadConcernCounters的总和等于opcounters.query

opWriteConcernCounters

版本 3.6.11 中的新功能。

仅适用于 mongod 实例

"opWriteConcernCounters" : {
   "insert" : {
      "wmajority" : NumberLong(<num>),
      "wnum" : {
         "<num>" :  NumberLong(<num>),
         ...
      },
      "wtag" : {
         "<tag1>" :  NumberLong(<num>),
         ...
      },
      "none" : NumberLong(<num>)
   },
   "update" : {
      "wmajority" : NumberLong(<num>),
      "wnum" : {
         "<num>" :  NumberLong(<num>),
      },
      "wtag" : {
         "<tag1>" :  NumberLong(<num>),
         ...
      },
      "none" : NumberLong(<num>)
   },
   "delete" : {
      "wmajority" :  NumberLong(<num>)
      "wnum" : {
         "<num>" :  NumberLong(<num>),
         ...
      },
      "wtag" : {
         "<tag1>" :  NumberLong(<num>),
         ...
      },
      "none" : NumberLong(<num>)
   }
}

自上次启动以来,报告对mongod实例执行写操作所指定的write concerns的文档。

更具体地说,opWriteConcernCounters报告由写入操作指定的w: <value>。写关注的日志标志选项(j)和超时选项(wtimeout)不影响计数。即使操作超时,计数也会增加。

Note

仅在reportOpWriteConcernCountersInServerStatus参数设置为true(默认为false)时可用。

自上次启动以来,报告对mongod实例执行插入操作所指定的w: <value>的文档:

Note

仅在reportOpWriteConcernCountersInServerStatus参数设置为true(默认为false)时可用。

"insert" : {
   "wmajority" : NumberLong(<num>),
   "wnum" : {
      "<num>" :  NumberLong(<num>),
      ...
   },
   "wtag" : {
      "<tag1>" :  NumberLong(<num>),
      ...
   },
   "none" : NumberLong(<num>)
},
Description
"wmajority" 指定w: "majority"的插入操作数。
"wnum" 指定w: <num>的插入操作数。计数按特定的<num>分组。
"wtag" 指定w: <tag>的插入操作数。计数按特定的<tag>分组。
"none" 未指定w值的插入操作数。这些操作使用默认的w1

opWriteConcernCounters.insert的总和等于opcounters.insert

自上次启动以来,针对由mongod实例的更新操作指定的w: <value>报告的文档:

Note

仅在reportOpWriteConcernCountersInServerStatus参数设置为true(默认为false)时可用。

"update" : {
   "wmajority" : NumberLong(<num>),
   "wnum" : {
      "<num>" :  NumberLong(<num>),
   },
   "wtag" : {
      "<tag1>" :  NumberLong(<num>),
      ...
   },
   "none" : NumberLong(<num>)
},
Description
"wmajority" 指定w: "majority"的更新操作数。
"wnum" 指定w: <num>的更新操作数。计数按特定的<num>分组。
"wtag" 指定w: <tag>的更新操作数。计数按特定的<tag>分组。
"none" 未指定w值的更新操作数。这些操作使用默认的w1

opWriteConcernCounters.update的总和等于opcounters.update

自上次启动以来,针对mongod实例报告由删除操作指定的w: <value>的文档:

Note

仅在reportOpWriteConcernCountersInServerStatus参数设置为true(默认为false)时可用。

"delete" : {
   "wmajority" :  NumberLong(<num>)
   "wnum" : {
      "<num>" :  NumberLong(<num>),
      ...
   },
   "wtag" : {
      "<tag1>" :  NumberLong(<num>),
      ...
   },
   "none" : NumberLong(<num>)
}
Description
"wmajority" 指定w: "majority"的删除操作数。
"wnum" 指定w: <num>的删除操作数。计数按特定的<num>分组。
"wtag" 指定w: <tag>的删除操作数。计数按特定的<tag>分组。
"none" 未指定w值的删除操作数。这些操作使用默认的w1

opWriteConcernCounters.delete的总和等于opcounters.delete

opcounters

"opcounters" : {
   "insert" : <num>,
   "query" : <num>,
   "update" : <num>,
   "delete" : <num>,
   "getmore" : <num>,
   "command" : <num>
},

这些数字将随着时间增长,直到下一次重新启动。随着时间的推移分析这些值以跟踪数据库利用率。

Note

opcounters中的数据将影响多个文档的操作(例如批量插入或多次更新操作)视为单个操作。有关更详细的文档级操作跟踪,请参见metrics.document

此外,这些值反映了接收到的操作,并且即使操作不成功也会增加。

opcounters.command计算所有commands **** **的写入命令:insertupdatedelete

opcountersRepl

"opcountersRepl" : {
   "insert" : <num>,
   "query" : <num>,
   "update" : <num>,
   "delete" : <num>,
   "getmore" : <num>,
   "command" : <num>
},

仅当当前主机是副本集的成员时,才会显示这些值。

由于 MongoDB 在复制过程中如何序列化操作,因此这些值与opcounters值不同。有关复制的更多信息,请参见Replication

这些数字将随着时间的推移而增加,以响应数据库的使用,直到下次重新启动。随着时间的推移分析这些值以跟踪数据库利用率。

oplogTruncation

"oplogTruncation" : {
   "totalTimeProcessingMicros" : <NumberLong>,
   "processingMethod" : <string>,
   "totalTimeTruncatingMicros" : <NumberLong>,
   "truncateCount" : <NumberLong>
},

报告oplog个截断的文档。

仅当当前实例是副本集的成员并使用WiredTiger 存储引擎时,才显示该字段。

扫描或采样操作日志以确定操作日志截断点所花费的总时间(以微秒为单位)。

See oplogTruncation.processingMethod

启动时用于确定 oplog 截断点的方法。该值可以是"sampling""scanning"

执行 oplog 截断所花费的累积时间(以微秒为单位)。

oplog 截断的累积数量。

repl

"repl" : {
   "hosts" : [
         <string>,
         <string>,
         <string>
   ],
   "setName" : <string>,
   "setVersion" : <num>,
   "ismaster" : <boolean>,
   "secondary" : <boolean>,
   "primary" : <hostname>,
   "me" : <hostname>,
   "electionId" : ObjectId(""),
   "rbid" : <num>,
   "replicationProgress" : [
         {
            "rid" : <ObjectId>,
            "optime" : { ts: <timestamp>, term: <num> },
            "host" : <hostname>,
            "memberId" : <num>
         },
        ...
   ]
}

副本集的当前primary成员的主机名和端口信息("host:port")。

Rollback标识符。用于确定此mongod实例是否发生了回滚。

要包含此输出,必须将repl选项传递给serverStatus,如下所示:

db.serverStatus({ "repl": 1 })
db.runCommand({ "serverStatus": 1, "repl": 1 })

repl.replicationProgress部分的内容取决于每个成员的复制源。本部分支持内部操作,并且仅用于内部和诊断用途。

security

"security" : {
   "SSLServerSubjectName": <string>,
   "SSLServerHasCertificateAuthority": <boolean>,
   "SSLServerCertificateExpirationDate": <date>
},

报告安全配置和详细信息的文档。仅针对支持 TLS/SSL 编译的mongod个实例显示。

sharding

3.2 版中的新增功能:在mongos上运行时,该命令返回分片信息。

在 3.6 版中进行了更改:从 MongoDB 3.6 开始,分片成员返回分片信息。

{
   "configsvrConnectionString" : "csRS/cfg1.example.net:27019,cfg2.example.net:27019,cfg2.example.net:27019",
   "lastSeenConfigServerOpTime" : {
      "ts" : Timestamp(1517462189, 1),
      "t" : NumberLong(1)
   },
   "maxChunkSizeInBytes" : NumberLong(67108864)
}

仅当分片群集使用 CSRS 时,lastSeenConfigServerOpTime才存在。

一块的最大size limit。如果块大小最近已在配置服务器上更新,则maxChunkSizeInBytes可能不反映最新值。

shardingStatistics

3.6.4 版中的新功能。

"shardingStatistics" : {
   "countStaleConfigErrors" : NumberLong(<num>),
   "countDonorMoveChunkStarted" : NumberLong(<num>),
   "totalDonorChunkCloneTimeMillis" : NumberLong(<num>),
   "totalCriticalSectionCommitTimeMillis" : NumberLong(<num>),
   "totalCriticalSectionTimeMillis" : NumberLong(<num>),
   "catalogCache" : {
      "numDatabaseEntries" : NumberLong(<num>),
      "numCollectionEntries" : NumberLong(<num>),
      "countStaleConfigErrors" : NumberLong(<num>),
      "totalRefreshWaitTimeMicros" : NumberLong(<num>),
      "numActiveIncrementalRefreshes" : NumberLong(<num>),
      "countIncrementalRefreshesStarted" : NumberLong(<num>),
      "numActiveFullRefreshes" : NumberLong(<num>),
      "countFullRefreshesStarted" : NumberLong(<num>),
      "countFailedRefreshes" : NumberLong(<num>)
   }
},

*仅在分片上运行时存在。

*仅在分片上运行时存在。

*仅在分片上运行时存在。

*仅在分片上运行时存在。

要计算追赶阶段的持续时间,请从totalCriticalSectionTimeMillis中减去totalCriticalSectionCommitTimeMillis

totalCriticalSectionTimeMillis - totalCriticalSectionCommitTimeMillis

仅在分片上运行时存在。

storageEngine

3.0 版中的新功能。

"storageEngine" : {
   "name" : <string>,
   "supportsCommittedReads" : <boolean>,
   "persistent" : <boolean>
},

指示存储引擎是否支持"majority" read concern的布尔值。

指示storage engine是否将数据持久保存到磁盘的布尔值。

transactions

版本 3.6.3 中的新功能。

"transactions" : {
   "retriedCommandsCount" : <NumberLong>,
   "retriedStatementsCount" : <NumberLong>,
   "transactionsCollectionWriteCount" : <NumberLong>
},

Note

MongoDB 不会重新执行提交的写入。

总计涵盖所有会话。

总数不包括作为块迁移的一部分可能在内部发生的任何可重试写入。

版本 3.6.3 中的新功能。

Note

MongoDB 不会重新执行提交的写入。

总数不包括作为块迁移的一部分可能在内部发生的任何可重试写入。

版本 3.6.3 中的新功能。

对于更新和删除命令,由于只能重试单个文档操作,因此每个语句只能写一次。

对于插入操作,每一批插入的文档有一次写操作,除非失败导致每个文档分别插入。

总数包括在迁移过程中对服务器的config.transactions集合的写入。

版本 3.6.3 中的新功能。

transportSecurity

版本 3.6.7 中的新功能:(* 在 3.4.17 中也可用)

"transportSecurity" : {
   "1.0" : <NumberLong>,
   "1.1" : <NumberLong>,
   "1.2" : <NumberLong>,
   "1.3" : <NumberLong>,
   "unknown" :<NumberLong>
},

与此mongodmongos实例构建的 TLS<version>连接的累积数量。重新启动后将重置该值。

wiredTiger

wiredTiger信息仅在使用WiredTiger存储引擎时出现。一些统计信息,例如wiredTiger.LSM,会为服务器汇总。

"wiredTiger" : {
   "uri" : "statistics:",
   "LSM" : {
         "sleep for LSM checkpoint throttle" : <num>,
         "sleep for LSM merge throttle" : <num>,
         "rows merged in an LSM tree" : <num>,
         "application work units currently queued" : <num>,
         "merge work units currently queued" : <num>,
         "tree queue hit maximum" : <num>,
         "switch work units currently queued" : <num>,
         "tree maintenance operations scheduled" : <num>,
         "tree maintenance operations discarded" : <num>,
         "tree maintenance operations executed" : <num>
   },
   "async" : {
         "number of allocation state races" : <num>,
         "number of operation slots viewed for allocation" : <num>,
         "current work queue length" : <num>,
         "number of flush calls" : <num>,
         "number of times operation allocation failed" : <num>,
         "maximum work queue length" : <num>,
         "number of times worker found no work" : <num>,
         "total allocations" : <num>,
         "total compact calls" : <num>,
         "total insert calls" : <num>,
         "total remove calls" : <num>,
         "total search calls" : <num>,
         "total update calls" : <num>
   },
   "block-manager" : {
         "mapped bytes read" : <num>,
         "bytes read" : <num>,
         "bytes written" : <num>,
         "mapped blocks read" : <num>,
         "blocks pre-loaded" : <num>,
         "blocks read" : <num>,
         "blocks written" : <num>
   },
   "cache" : {
         "tracked dirty bytes in the cache" : <num>,
         "tracked bytes belonging to internal pages in the cache" : <num>,
         "bytes currently in the cache" : <num>,
         "tracked bytes belonging to leaf pages in the cache" : <num>,
         "maximum bytes configured" : <num>,
         "tracked bytes belonging to overflow pages in the cache" : <num>,
         "bytes read into cache" : <num>,
         "bytes written from cache" : <num>,
         "pages evicted by application threads" : <num>,
         "checkpoint blocked page eviction" : <num>,
         "unmodified pages evicted" : <num>,
         "page split during eviction deepened the tree" : <num>,
         "modified pages evicted" : <num>,
         "pages selected for eviction unable to be evicted" : <num>,
         "pages evicted because they exceeded the in-memory maximum" : <num>,
         "pages evicted because they had chains of deleted items" : <num>,
         "failed eviction of pages that exceeded the in-memory maximum" : <num>,
         "hazard pointer blocked page eviction" : <num>,
         "internal pages evicted" : <num>,
         "maximum page size at eviction" : <num>,
         "eviction server candidate queue empty when topping up" : <num>,
         "eviction server candidate queue not empty when topping up" : <num>,
         "eviction server evicting pages" : <num>,
         "eviction server populating queue, but not evicting pages" : <num>,
         "eviction server unable to reach eviction goal" : <num>,
         "internal pages split during eviction" : <num>,
         "leaf pages split during eviction" : <num>,
         "pages walked for eviction" : <num>,
         "eviction worker thread evicting pages" : <num>,
         "in-memory page splits" : <num>,
         "in-memory page passed criteria to be split" : <num>,
         "lookaside table insert calls" : <num>,
         "lookaside table remove calls" : <num>,
         "percentage overhead" : <num>,
         "tracked dirty pages in the cache" : <num>,
         "pages currently held in the cache" : <num>,
         "pages read into cache" : <num>,
         "pages read into cache requiring lookaside entries" : <num>,
         "pages written from cache" : <num>,
         "page written requiring lookaside records" : <num>,
         "pages written requiring in-memory restoration" : <num>
   },
   "connection" : {
         "pthread mutex condition wait calls" : <num>,
         "files currently open" : <num>,
         "memory allocations" : <num>,
         "memory frees" : <num>,
         "memory re-allocations" : <num>,
         "total read I/Os" : <num>,
         "pthread mutex shared lock read-lock calls" : <num>,
         "pthread mutex shared lock write-lock calls" : <num>,
         "total write I/Os" : <num>
   },
   "cursor" : {
         "cursor create calls" : <num>,
         "cursor insert calls" : <num>,
         "cursor next calls" : <num>,
         "cursor prev calls" : <num>,
         "cursor remove calls" : <num>,
         "cursor reset calls" : <num>,
         "cursor restarted searches" : <num>,
         "cursor search calls" : <num>,
         "cursor search near calls" : <num>,
         "truncate calls" : <num>,
         "cursor update calls" : <num>
   },
   "data-handle" : {
         "connection data handles currently active" : <num>,
         "session dhandles swept" : <num>,
         "session sweep attempts" : <num>,
         "connection sweep dhandles closed" : <num>,
         "connection sweep candidate became referenced" : <num>,
         "connection sweep dhandles removed from hash list" : <num>,
         "connection sweep time-of-death sets" : <num>,
         "connection sweeps" : <num>
   },
   "log" : {
         "total log buffer size" : <num>,
         "log bytes of payload data" : <num>,
         "log bytes written" : <num>,
         "yields waiting for previous log file close" : <num>,
         "total size of compressed records" : <num>,
         "total in-memory size of compressed records" : <num>,
         "log records too small to compress" : <num>,
         "log records not compressed" : <num>,
         "log records compressed" : <num>,
         "log flush operations" : <num>,
         "maximum log file size" : <num>,
         "pre-allocated log files prepared" : <num>,
         "number of pre-allocated log files to create" : <num>,
         "pre-allocated log files not ready and missed" : <num>,
         "pre-allocated log files used" : <num>,
         "log release advances write LSN" : <num>,
         "records processed by log scan" : <num>,
         "log scan records requiring two reads" : <num>,
         "log scan operations" : <num>,
         "consolidated slot closures" : <num>,
         "written slots coalesced" : <num>,
         "logging bytes consolidated" : <num>,
         "consolidated slot joins" : <num>,
         "consolidated slot join races" : <num>,
         "busy returns attempting to switch slots" : <num>,
         "consolidated slot join transitions" : <num>,
         "consolidated slot unbuffered writes" : <num>,
         "log sync operations" : <num>,
         "log sync_dir operations" : <num>,
         "log server thread advances write LSN" : <num>,
         "log write operations" : <num>,
         "log files manually zero-filled" : <num>
   },
   "reconciliation" : {
         "pages deleted" : <num>,
         "fast-path pages deleted" : <num>,
         "page reconciliation calls" : <num>,
         "page reconciliation calls for eviction" : <num>,
         "split bytes currently awaiting free" : <num>,
         "split objects currently awaiting free" : <num>
   },
   "session" : {
         "open cursor count" : <num>,
         "open session count" : <num>
   },
   "thread-yield" : {
         "page acquire busy blocked" : <num>,
         "page acquire eviction blocked" : <num>,
         "page acquire locked blocked" : <num>,
         "page acquire read blocked" : <num>,
         "page acquire time sleeping (usecs)" : <num>
   },
   "transaction" : {
         "transaction begins" : <num>,
         "transaction checkpoints" : <num>,
         "transaction checkpoint generation" : <num>,
         "transaction checkpoint currently running" : <num>,
         "transaction checkpoint max time (msecs)" : <num>,
         "transaction checkpoint min time (msecs)" : <num>,
         "transaction checkpoint most recent time (msecs)" : <num>,
         "transaction checkpoint total time (msecs)" : <num>,
         "transactions committed" : <num>,
         "transaction failures due to cache overflow" : <num>,
         "transaction range of IDs currently pinned by a checkpoint" : <num>,
         "transaction range of IDs currently pinned" : <num>,
         "transaction range of IDs currently pinned by named snapshots" : <num>,
         "transactions rolled back" : <num>,
         "number of named snapshots created" : <num>,
         "number of named snapshots dropped" : <num>,
         "transaction sync calls" : <num>
   },
   "concurrentTransactions" : {
         "write" : {
            "out" : <num>,
            "available" : <num>,
            "totalTickets" : <num>
         },
         "read" : {
            "out" : <num>,
            "available" : <num>,
            "totalTickets" : <num>
         }
   }
},

一个字符串。供 MongoDB 内部使用。

在 LSM(日志结构合并)树上返回统计信息的文档。该值反映了此服务器中使用的所有 LSM 树的统计信息。

返回与异步操作 API 相关的统计信息的文档。 MongoDB 未使用它。

返回有关块 Management 器操作的统计信息的文档。

下面介绍一些关键的wiredTiger.cache统计信息:

要调整 WiredTiger 内部缓存的大小,请参见storage.wiredTiger.engineConfig.cacheSizeGB--wiredTigerCacheSizeGB。避免将 WiredTiger 内部缓存的大小增加到其默认值以上。

返回与 WiredTiger 连接有关的统计信息的文档。

在 WiredTiger 游标上返回统计信息的文档。

返回有关数据句柄和扫描的统计信息的文档。

返回有关 WiredTiger 的预写日志(即日志)的统计信息的文档。

返回对帐过程统计信息的文档。

返回会话的打开游标计数和打开会话数的文档。

在页面获取过程中返回 Yield 统计信息的文档。

返回有关事务检查点和操作的统计信息的文档。

返回有关 WiredTiger 存储引擎中允许的读写事务并发数量的信息的文档。这些设置是 MongoDB 特定的。

要更改并发读写事务的设置,请参阅wiredTigerConcurrentReadTransactionswiredTigerConcurrentWriteTransactions

writeBacksQueued

"writeBacksQueued" : <boolean>,

mem

"mem" : {
   "bits" : <int>,
   "resident" : <int>,
   "virtual" : <int>,
   "supported" : <boolean>,
   "mapped" : <int>,
   "mappedWithJournal" : <int>
},

启用journaling并使用 MMAPv1 存储引擎时,mem.virtual的值至少是mem.mapped的两倍。如果mem.virtual的值明显大于mem.mapped(例如 3 次或更多),则可能表示内存泄漏。

数据库 Map 的内存量(以兆字节(MB)为单位)。由于 MongoDB 使用内存 Map 文件,因此该值可能大致等于一个或多个数据库的总大小。

Map 的内存量(以兆字节(MB)为单位),包括用于日记的内存。该值将始终是mem.mapped的两倍。仅当启用日记功能时才包括此字段。

mem.note字段包含文本:"not all mem info support on this platform"

metrics

"metrics" : {
   "commands": {
         "<command>": {
            "failed": <num>,
            "total": <num>
         }
   },
   "cursor" : {
         "timedOut" : NumberLong(<num>),
         "open" : {
            "noTimeout" : NumberLong(<num>),
            "pinned" : NumberLong(<num>),
            "multiTarget" : NumberLong(<num>),
            "singleTarget" : NumberLong(<num>),
            "total" : NumberLong(<num>),
         }
   },
   "document" : {
         "deleted" : NumberLong(<num>),
         "inserted" : NumberLong(<num>),
         "returned" : NumberLong(<num>),
         "updated" : NumberLong(<num>)
   },
   "getLastError" : {
         "wtime" : {
            "num" : <num>,
            "totalMillis" : <num>
         },
         "wtimeouts" : NumberLong(<num>)
   },
   "operation" : {
         "scanAndOrder" : NumberLong(<num>),
         "writeConflicts" : NumberLong(<num>)
   },
   "queryExecutor": {
         "scanned" : NumberLong(<num>),
         "scannedObjects" : NumberLong(<num>)
   },
   "record" : {
         "moves" : NumberLong(<num>)
   },
   "repl" : {
      "executor" : {
         "pool" : {
            "inProgressCount" : <num>
         },
         "queues" : {
            "networkInProgress" : <num>,
            "sleepers" : <num>
         },
         "unsignaledEvents" : <num>,
         "shuttingDown" : <boolean>,
         "networkInterface" : <string>
      },
      "apply" : {
         "attemptsToBecomeSecondary" : NumberLong(<num>),
         "batchSize" : NumberLong(<num>),
         "batches" : {
            "num" : <num>,
            "totalMillis" : <num>
         },
         "ops" : NumberLong(<num>)
      },
      "buffer" : {
         "count" : <NumberLong>,
         "maxSizeBytes" : <NumberLong>,
         "sizeBytes" : <NumberLong>
      },
      "initialSync" : {
         "completed" : <NumberLong>,
         "failedAttempts" : <NumberLong>,
         "failures" : <NumberLong>,
      },
      "network" : {
         "bytes" : <NumberLong>,
         "getmores" : {
            "num" : <num>,
            "totalMillis" : <num>
         },
         "ops" : <NumberLong>,
         "readersCreated" : <NumberLong>
      },
      "preload" : {
         "docs" : {
            "num" : <num>,
            "totalMillis" : <num>
         },
         "indexes" : {
            "num" : <num>,
            "totalMillis" : <num>
         }
      }
   },
   "storage" : {
         "freelist" : {
            "search" : {
               "bucketExhausted" : <num>,
               "requests" : <num>,
               "scanned" : <num>
            }
         }
   },
   "ttl" : {
         "deletedDocuments" : NumberLong(<num>),
         "passes" : NumberLong(<num>)
   }
},

报告有关数据库命令使用情况的文档。 metrics.commands中的字段是database commands的名称,每个值都是一个文档,其中报告了已执行的命令总数以及失败的执行次数。

报告复制执行程序的各种统计信息的文档。

如果使用 MMAPv1 存储引擎,则既不会导致文档增长也不需要更新索引的update操作数。例如,此计数器将记录一个更新操作,该操作使用$inc运算符来递增未索引字段的值。

包含_id字段的查询数。对于这些查询,MongoDB 将在_id字段上使用默认索引,并跳过所有查询计划分析。

应用的 oplog 操作总数。 metrics.repl.apply.batchSize在批处理边界处随着批处理中的操作数增加,而不是在每次操作后均增加一。

有关更精细的粒度,请参见metrics.repl.apply.ops

Note

这个数字可能会很大,因为即使getmore操作没有初始返回数据,MongoDB 也会 await 更多数据。

有关复制过程的* pre-fetch *阶段的更多信息,请参见Multithreaded Replication

有关复制的“预取”阶段的更多信息,请参见Multithreaded Replication

包含有关游标状态和使用的数据的文档。

自服务器进程启动以来已超时的游标总数。如果此数字很大或以固定速度增长,则可能表明应用程序错误。

包含有关打开的游标的数据的文档。

设置了DBQuery.Option.noTimeout选项的打开游标的数量,以防止一段时间不活动后超时。

“固定”打开游标的数量。

MongoDB 为 Client 端维护的游标数。由于 MongoDB 会耗尽未使用的游标,因此该值通常较小或为零。但是,如果存在队列,陈旧的可尾游标或大量操作,则此值可能会增加。

仅以单个分片为目标的游标总数。只有mongos个实例报告metrics.cursor.open.singleTarget个值。

仅针对个以上分片的游标总数。只有mongos个实例报告metrics.cursor.open.multiTarget个值。

watchdog

3.6 版的新功能。

"watchdog" : {
   "checkGeneration" : NumberLong(<num>),
   "monitorGeneration" : NumberLong(<num>),
   "monitorPeriod" : <num>
}

Note

只有启用了存储节点看门狗,才会显示watchdog部分。

首页