Docs 菜单

Docs 主页开发应用程序MongoDB Manual

db.collection.latencyStats()

在此页面上

  • 定义
  • 输出
  • 举例
db.collection.latencyStats(options)

重要

mongosh 方法

本页介绍了 mongosh方法。这不是数据库命令或特定语言驱动程序(例如 Node.js)的文档。

有关数据库命令,请参阅 collStats 命令返回的 latencyStats 字段。

对于 MongoDB API 驱动程序,请参阅特定语言的MongoDB 驱动程序文档。

对于传统 mongo Shell 文档,请参阅相应 MongoDB Server 版本的文档:

mongo shell v4.4

db.collection.latencyStats()返回给定集合的延迟统计信息。它是$collStats的包装器。

此方法的形式为:

db.collection.latencyStats( { histograms: <boolean> } )

histograms参数是一个可选的布尔值。如果histograms: true ,则latencyStats()将延迟直方图添加到返回文档中。

提示

另请参阅:

latencyStats()返回包含字段latencyStats的文档,其中包含以下字段:

字段名称
说明
reads
读取请求的延迟统计信息。
writes
写入请求的延迟统计数据。
commands
数据库命令的延迟统计信息。

其中每个字段都包含一个包含以下字段的嵌入文档:

字段名称
说明
latency
一个 64 位整数,以微秒为单位表示总组合延迟。
ops
一个 64 位整数,表示自启动以来对集合执行的操作总数。
histogram

嵌入文档的数组,每个文档表示一个延迟范围。每个文档涵盖前一个文档范围的两倍。对于 2048 微秒到大约 1 秒之间的上限值,直方图包括半步。

此字段仅在给定 latencyStats: { histograms: true } 选项时存在。输出中将省略带有零 count 的空范围。

每个文档都包含以下字段:

字段名称
说明
micros

一个 64 位整数,以微秒为单位表示当前延迟范围的时间上限。

文档的范围介于上一文档的 micros 值(不含)和本文档的 micros 值(含)之间。

count
一个 64 位整数,表示延迟小于或等于 micros 的操作次数。

例如,如果 collStats 返回以下直方图:

histogram: [
{ micros: NumberLong(1), count: NumberLong(10) },
{ micros: NumberLong(2), count: NumberLong(1) },
{ micros: NumberLong(4096), count: NumberLong(1) },
{ micros: NumberLong(16384), count: NumberLong(1000) },
{ micros: NumberLong(49152), count: NumberLong(100) }
]

这表明:

  • 10 次操作耗时 1 微秒或更短,

  • (1, 2] 微秒、

  • (3072, 4096] 微秒范围内 1 个操作,

  • (12288, 16384] 范围内的 1000 次操作,以及

  • (32768, 49152] 范围内的 100 次操作。

您可以在 中运行latencyStats() mongosh,如下所示:

db.data.latencyStats( { histograms: true } ).pretty()

latencyStats() 返回如下文档:

{
"ns" : "test.data",
"localTime" : ISODate("2016-11-01T21:56:28.962Z"),
"latencyStats" : {
"reads" : {
"histogram" : [
{
"micros" : NumberLong(16),
"count" : NumberLong(6)
},
{
"micros" : NumberLong(512),
"count" : NumberLong(1)
}
],
"latency" : NumberLong(747),
"ops" : NumberLong(7)
},
"writes" : {
"histogram" : [
{
"micros" : NumberLong(64),
"count" : NumberLong(1)
},
{
"micros" : NumberLong(24576),
"count" : NumberLong(1)
}
],
"latency" : NumberLong(26845),
"ops" : NumberLong(2)
},
"commands" : {
"histogram" : [ ],
"latency" : NumberLong(0),
"ops" : NumberLong(0)
}
}
}
← db.collection.isCapped()

在此页面上