Docs 菜单

Docs 主页开发应用程序MongoDB Manual

top

在此页面上

  • 定义
  • 语法
  • 事件字段
  • 例子
  • 了解详情
top

top是一条管理命令,用于返回每个集合的使用情况统计信息。您可以使用top指标来比较各集合的相对性能。

重要

top命令必须针对 mongod 实例运行。对top mongos 实例运行 会返回错误。

对于每个集合, top返回每个事件执行所需的time量(以微秒为单位)以及每个事件已执行的次数的counttimecount指标仅在您重新启动mongod实例后重置。

使用 Queryable Encryption 时,top 命令仅返回集合名称。

top 管理员数据库 发出 命令:

db.runCommand(
{
top: 1
}
)

top命令会返回以下事件字段的使用统计信息:

字段
说明
total
所有 readLockwriteLock 操作的组合。
readLock
使用读锁的操作的使用统计。这些操作包括但不限于查询和聚合。
writeLock
使用写锁的操作的使用情况统计信息。这些操作包括但不限于插入、更新和删除文档。
queries
查询操作(如 find)的使用统计。queries.timequeries.count 字段也会更新 readLock.time 并递增 readLock.count
getmore
getMore 操作的使用统计。getmore.timegetmore.count 字段也会更新 readLock.time 并递增 readLock.count
insert
insert 操作的使用统计。insert.timeinsert.count 字段也会更新 readLock.time 并递增 readLock.count
update
update 操作的使用统计。update.timeupdate.count 字段也会更新 readLock.time 并递增 readLock.count
remove
delete 操作的使用统计。remove.timeremove.count 字段也会更新 readLock.time 并递增 readLock.count
commands

聚合、创建索引和删除索引等操作的使用情况统计信息。根据命令类型,commands.timecommands.count 字段会更新 writeLock 字段或 readLock 字段。

例如,聚合操作会递增 readLock.timereadLock.count。索引创建时,会递增 writeLock.timewriteLock.count

top命令的输出类似于以下输出:

{
"totals" : {
note: "all times in microseconds",
"records.users" : {
"total" : {
"time" : 305277,
"count" : 2825
},
"readLock" : {
"time" : 305264,
"count" : 2824
},
"writeLock" : {
"time" : 13,
"count" : 1
},
"queries" : {
"time" : 305264,
"count" : 2824
},
"getmore" : {
"time" : 0,
"count" : 0
},
"insert" : {
"time" : 0,
"count" : 0
},
"update" : {
"time" : 0,
"count" : 0
},
"remove" : {
"time" : 0,
"count" : 0
},
"commands" : {
"time" : 0,
"count" : 0
}
}
}
← shardConnPoolStats
验证 →