文档菜单
文档首页
/
MongoDB 手册
/ / /

connPoolStats

本页内容

  • 定义
  • 兼容性
  • 语法
  • 行为
  • 示例
  • 输出
connPoolStats

命令connPoolStats 返回当前数据库实例到 分片集群副本集 其他成员的开放出站连接信息。分片集群副本集

要运行 connPoolStats,请使用 db.runCommand( { <command> } ) 方法。

注意

connPoolStats 只为 mongos 实例以及 mongod 实例返回有意义的统计结果。

此命令在以下环境中托管的应用程序中可用

  • MongoDB Atlas:云中MongoDB部署的全托管服务

注意

此命令在所有MongoDB Atlas集群中受支持。有关Atlas对所有命令的支持信息,请参阅不受支持的命令。

该命令具有以下语法

db.runCommand(
{
connPoolStats: 1
}
)

参数值(即1)不会影响命令的输出。

connPoolStats的输出包括聚合统计信息

  • hosts字段显示按主机聚合的信息。

  • pools字段显示按池聚合的信息。

注意

为了防止干扰任何正在运行的操作,connPoolStats不获取任何锁。因此,在connPoolStats收集信息时,计数可能略有变化,从而导致hostspools连接计数之间略有差异。

以下操作使用 db.runCommand() 方法在分片集群的 connPoolStats 上运行命令。该分片集群有2个分片,每个都是一个成员的副本集,还有一个配置服务器副本集。该 mongos 运行在4核机器上。

db.runCommand( { "connPoolStats" : 1 } )

命令返回以下格式的输出

注意

connPoolStats 的输出会根据部署和运行 connPoolStats 的成员等因素而有所不同。

{
"numClientConnections" : <num>,
"numAScopedConnections" : <num>,
"totalInUse" : <num>,
"totalAvailable" : <num>,
"totalLeased" : <num>,
"totalCreated" : <num>,
"totalRefreshing" : <num>,
"replicaSetMatchingStrategy" : <string>,
"acquisitionWaitTimes" : { // Added in MongoDB 6.3
"(-inf, 0ms)" : { "count" : <num> },
"[0ms, 50ms)" : { "count" : <num> },
"[50ms, 100ms)" : { "count" : <num> },
"[100ms, 150ms)" : { "count" : <num> },
"[150ms, 200ms)" : { "count" : <num> },
"[200ms, 250ms)" : { "count" : <num> },
"[250ms, 300ms)" : { "count" : <num> },
"[300ms, 350ms)" : { "count" : <num> },
"[350ms, 400ms)" : { "count" : <num> },
"[400ms, 450ms)" : { "count" : <num> },
"[450ms, 500ms)" : { "count" : <num> },
"[500ms, 550ms)" : { "count" : <num> },
"[550ms, 600ms)" : { "count" : <num> },
"[600ms, 650ms)" : { "count" : <num> },
"[650ms, 700ms)" : { "count" : <num> },
"[700ms, 750ms)" : { "count" : <num> },
"[750ms, 800ms)" : { "count" : <num> },
"[800ms, 850ms)" : { "count" : <num> },
"[850ms, 900ms)" : { "count" : <num> },
"[900ms, 950ms)" : { "count" : <num> },
"[950ms, 1000ms)" : { "count" : <num> },
"[1000ms, inf)" : { "count" : <num> },
"totalCount" : <num>
},
"pools" : {
"NetworkInterfaceTL-TaskExecutorPool-0" : {
"poolInUse" : <num>,
"poolAvailable" : <num>,
"poolLeased" : <num>,
"poolCreated" : <num>,
"poolRefreshing" : <num>,
"acquisitionWaitTimes" : <document>, // Added in MongoDB 6.3
"cfg1.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"leased" : <num>,
"created" : <num>,
"refreshing" : <num>,
"acquisitionWaitTimes" : <document> // Added in MongoDB 6.3
},
},
"NetworkInterfaceTL-TaskExecutorPool-1" : {
"poolInUse" : <num>,
"poolAvailable" : <num>,
"poolLeased" : <num>,
"poolCreated" : <num>,
"poolRefreshing" : <num>,
"acquisitionWaitTimes" : <document>, // Added in MongoDB 6.3
"cfg1.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"leased" : <num>,
"created" : <num>,
"refreshing" : <num>,
"acquisitionWaitTimes" : <document> // Added in MongoDB 6.3
}
},
"NetworkInterfaceTL-TaskExecutorPool-2" : {
"poolInUse" : <num>,
"poolAvailable" : <num>,
"poolLeased" : <num>,
"poolCreated" : <num>,
"poolRefreshing" : <num>,
"acquisitionWaitTimes" : <document>, // Added in MongoDB 6.3
"cfg1.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"leased" : <num>,
"created" : <num>,
"refreshing" : <num>,
"acquisitionWaitTimes" : <document> // Added in MongoDB 6.3
}
},
"NetworkInterfaceTL-TaskExecutorPool-3" : {
"poolInUse" : <num>,
"poolAvailable" : <num>,
"poolLeased" : <num>,
"poolCreated" : <num>,
"poolRefreshing" : <num>,
"acquisitionWaitTimes" : <document>, // Added in MongoDB 6.3
"cfg1.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"leased" : <num>,
"created" : <num>,
"refreshing" : <num>,
"acquisitionWaitTimes" : <document> // Added in MongoDB 6.3
}
},
"NetworkInterfaceTL-ShardRegistry" : {
"poolInUse" : <num>,
"poolAvailable" : <num>,
"poolLeased" : <num>,
"poolCreated" : <num>,
"poolRefreshing" : <num>,
"acquisitionWaitTimes" : <document>, // Added in MongoDB 6.3
"cfg1.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"leased" : <num>,
"created" : <num>,
"refreshing" : <num>,
"acquisitionWaitTimes" : <document> // Added in MongoDB 6.3
},
"cfg2.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"leased" : <num>,
"created" : <num>,
"refreshing" : <num>,
"acquisitionWaitTimes" : <document> // Added in MongoDB 6.3
},
"cfg3.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"leased" : <num>,
"created" : <num>,
"refreshing" : <num>,
"acquisitionWaitTimes" : <document> // Added in MongoDB 6.3
},
"shard1.example.net:27018" : {
"inUse" : <num>,
"available" : <num>,
"leased" : <num>,
"created" : <num>,
"refreshing" : <num>,
"acquisitionWaitTimes" : <document> // Added in MongoDB 6.3
},
"shard2.example.net:27018" : {
"inUse" : <num>,
"available" : <num>,
"leased" : <num>,
"created" : <num>,
"refreshing" : <num>,
"acquisitionWaitTimes" : <document> // Added in MongoDB 6.3
}
},
"global" : {
"poolInUse" : <num>,
"poolAvailable" : <num>,
"poolLeased" : <num>,
"poolCreated" : <num>,
"poolRefreshing" : <num>,
"acquisitionWaitTimes" : <document>, // Added in MongoDB 6.3
"cfg3.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"leased" : <num>,
"created" : <num>,
"refreshing" : <num>,
"acquisitionWaitTimes" : <document> // Added in MongoDB 6.3
},
"cfg1.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"leased" : <num>,
"created" : <num>,
"refreshing" : <num>,
"acquisitionWaitTimes" : <document> // Added in MongoDB 6.3
},
"cfg2.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"leased" : <num>,
"created" : <num>,
"refreshing" : <num>,
"acquisitionWaitTimes" : <document> // Added in MongoDB 6.3
},
"shard2.example.net:27018" : {
"inUse" : <num>,
"available" : <num>,
"leased" : <num>,
"created" : <num>,
"refreshing" : <num>,
"acquisitionWaitTimes" : <document> // Added in MongoDB 6.3
},
"shard1.example.net:27018" : {
"inUse" : <num>,
"available" : <num>,
"leased" : <num>,
"created" : <num>,
"refreshing" : <num>,
"acquisitionWaitTimes" : <document> // Added in MongoDB 6.3
}
}
},
"hosts" : {
"cfg3.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"leased" : <num>,
"created" : <num>,
"refreshing" : <num>,
"acquisitionWaitTimes" : <document> // Added in MongoDB 6.3
},
"cfg1.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"leased" : <num>,
"created" : <num>,
"refreshing" : <num>,
"acquisitionWaitTimes" : <document> // Added in MongoDB 6.3
},
"cfg2.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"leased" : <num>,
"created" : <num>,
"refreshing" : <num>,
"acquisitionWaitTimes" : <document> // Added in MongoDB 6.3
},
"shard2.example.net:27018" : {
"inUse" : <num>,
"available" : <num>,
"leased" : <num>,
"created" : <num>,
"refreshing" : <num>,
"acquisitionWaitTimes" : <document> // Added in MongoDB 6.3
},
"shard1.example.net:27018" : {
"inUse" : <num>,
"available" : <num>,
"leased" : <num>,
"created" : <num>,
"refreshing" : <num>,
"acquisitionWaitTimes" : <document> // Added in MongoDB 6.3
}
},
"replicaSets" : {
"csRS" : {
"hosts" : [
{
"addr" : "cfg1.example.net:27019",
"ok" : <bool>,
"ismaster" : <bool>,
"hidden" : <bool>,
"secondary" : <bool>,
"pingTimeMillis" : <num>
},
{
"addr" : "cfg2.example.net:27019",
"ok" : <bool>,
"ismaster" : <bool>,
"hidden" : <bool>,
"secondary" : <bool>,
"pingTimeMillis" : <num>
},
{
"addr" : "cfg3.example.net:27019",
"ok" : <bool>,
"ismaster" : <bool>,
"hidden" : <bool>,
"secondary" : <bool>,
"pingTimeMillis" : <num>
}
]
},
"shardB" : {
"hosts" : [
{
"addr" : "shard2.example.net:27018",
"ok" : <bool>,
"ismaster" : <bool>,
"hidden" : <bool>,
"secondary" : <bool>,
"pingTimeMillis" : <num>
}
]
},
"shardA" : {
"hosts" : [
{
"addr" : "shard1.example.net:27018",
"ok" : <bool>,
"ismaster" : <bool>,
"hidden" : <bool>,
"secondary" : <bool>,
"pingTimeMillis" : <num>
}
]
}
},
"ok" : 1,
"$clusterTime" : {
"clusterTime" : <timestamp>,
"signature" : <document>
},
"operationTime" : <timestamp>
}
connPoolStats.totalAvailable

报告当前 mongod / mongos 实例可用于与其他 分片集群副本集 成员的出站连接总数。

connPoolStats.totalLeased

报告从连接池中借用并预期归还的连接总数。这些连接在租用期间可能不会保持活跃,并从相关指标中排除。这些连接在租用期间不可用。

connPoolStats.totalCreated

报告当前 mongod / mongos 实例创建的出站连接总数,包括与其他 分片集群副本集 成员的连接。

connPoolStats.totalInUse

报告当前 mongod / mongos 实例向当前使用的 分片集群副本集 其他成员的出站连接总数。

connPoolStats.totalRefreshing

报告当前 mongod / mongos 实例向 分片集群副本集 其他成员正在刷新的出站连接总数。

connPoolStats.totalWasNeverUsed

报告当前 mongod / mongos 实例向 分片集群副本集 其他成员发出的连接总数,这些连接在关闭前从未使用过。

connPoolStats.replicaSetMatchingStrategy

新增版本5.0.

mongos 实例上,此值报告实例用于确定其连接池到副本集内部节点最小大小限制的策略。

mongod 实例上,此值报告实例用于确定其连接池到 其他 副本集内部节点最小大小限制的策略。

mongosmongod 的策略可以通过 ShardingTaskExecutorPoolReplicaSetMatching 参数来设置。

注意

如果将 ShardingTaskExecutorPoolReplicaSetMatching 设置为 "automatic",则 replicaSetMatchingStrategy 仍然描述正在使用的实际策略,而不是 "automatic"。要查找 ShardingTaskExecutorPoolReplicaSetMatching 的值,请使用 getParameter 命令,该命令返回服务器参数的值。

db.adminCommand( { getParameter : 1, "ShardingTaskExecutorPoolReplicaSetMatching" : 1 } )
connPoolStats.acquisitionWaitTimes

新增版本6.3.

文档报告了从 mongosmongod 获取连接请求的等待时间直方图:

  • 文档包含以毫秒为单位的时间范围和每个时间范围内连接请求的数量。

  • -inf 表示负无穷,(-inf, 0ms) 范围内的连接请求没有等待。

  • inf 表示正无穷,[1000ms, inf) 范围内的连接请求等待时间大于或等于 1,000 毫秒。

  • totalCount 是所有时间范围内连接请求的总数。

"acquisitionWaitTimes" : {
"(-inf, 0ms)" : { "count" : <num> },
"[0ms, 50ms)" : { "count" : <num> },
"[50ms, 100ms)" : { "count" : <num> },
"[100ms, 150ms)" : { "count" : <num> },
"[150ms, 200ms)" : { "count" : <num> },
"[200ms, 250ms)" : { "count" : <num> },
"[250ms, 300ms)" : { "count" : <num> },
"[300ms, 350ms)" : { "count" : <num> },
"[350ms, 400ms)" : { "count" : <num> },
"[400ms, 450ms)" : { "count" : <num> },
"[450ms, 500ms)" : { "count" : <num> },
"[500ms, 550ms)" : { "count" : <num> },
"[550ms, 600ms)" : { "count" : <num> },
"[600ms, 650ms)" : { "count" : <num> },
"[650ms, 700ms)" : { "count" : <num> },
"[700ms, 750ms)" : { "count" : <num> },
"[750ms, 800ms)" : { "count" : <num> },
"[800ms, 850ms)" : { "count" : <num> },
"[850ms, 900ms)" : { "count" : <num> },
"[900ms, 950ms)" : { "count" : <num> },
"[950ms, 1000ms)" : { "count" : <num> },
"[1000ms, inf)" : { "count" : <num> },
"totalCount" : <num>
}
connPoolStats.numClientConnection

报告当前 mongod / mongos 实例到 分片集群副本集 其他成员的活跃和存储的同步连接数量。

这些连接是 totalAvailabletotalCreatedtotalInUse 所报告的数据的子集。

connPoolStats.numAScopedConnection

报告当前 mongod / mongos 实例向分片集群或副本集其他成员发起的活跃和存储的 范围同步 连接数。

这些连接是 totalAvailabletotalCreatedtotalInUse 所报告的数据的子集。

connPoolStats.pools

报告按连接池分组(使用中/可用/创建/刷新)的连接统计信息。一个 mongodmongos 有两种不同的外出连接池

  • 基于 DBClient 的连接池(“写入路径”)

  • 基于 NetworkInterfaceTL 的连接池(“读取路径”)。

对于每个连接池,命令返回一个类似于以下文档的结果

{
"poolInUse" : <num>,
"poolAvailable" : <num>,
"poolLeased" : <num>,
"poolCreated" : <num>,
"poolRefreshing" : <num>,
"acquisitionWaitTimes" : <document>, // Added in MongoDB 6.3
"[host1]" : {
"inUse" : <num>, "available" : <num>, "leased" : <num>, "created" : <num>, "refreshing" : <num>,
"acquisitionWaitTimes" : <document> // Added in MongoDB 6.3
},
"[host2]" : {
"inUse" : <num>, "available" : <num>, "leased" : <num>, "created" : <num>, "refreshing" : <num>,
"acquisitionWaitTimes" : <document> // Added in MongoDB 6.3
},
...
}

注意

如果某个特定连接池没有连接(使用中/可用/创建/刷新),则 connPoolStats 不会返回该池的统计信息。

connPoolStats.pools.NetworkInterfaceTL-TaskExecutorPool-[n]

显示与TaskExecutor池相关的连接统计信息。通常,每个核心将有一个TaskExecutorPool,例如 pools.NetworkInterfaceTL-TaskExecutorPool-0 ... pools.NetworkInterfaceTL-TaskExecutorPool-7,适用于8核处理器。

提示

另请参阅

connPoolStats.pools.NetworkInterfaceTL-ShardRegistry

如果命令在分片集群的成员上运行,则可用。

显示当前 mongod / mongos 实例与其他分片集群成员之间的连接池统计信息。

connPoolStats.pools.NetworkInterfaceTL-Replication

如果命令在副本集的成员上运行,则可用。

显示当前 mongod 实例与副本集的其他成员之间的连接池统计信息。

connPoolStats.pools.global

显示基于DBClient的连接池统计信息。

connPoolStats.pools.[pool].poolWasNeverUsed

显示在此连接池中已关闭且从未使用过的连接数量。

connPoolStats.pools.[pool].acquisitionWaitTimes

新增版本6.3.

报告从mongosmongod获取连接的请求等待时间。有关详细信息,请参阅connPoolStats.acquisitionWaitTimes

connPoolStats.hosts

按主机分组报告连接统计(使用中/可用/创建/刷新)。

包含代表当前 文档 的信息,这些文档描述了当前 mongod / mongos 实例与 分片集群副本集 中每个成员之间的连接。

connPoolStats.hosts.[host].available

报告可用于连接到 [host] 的连接总数。

connPoolStats.hosts.[host].leased

报告从池中借用并预期归还给主机的连接总数。这些连接可能不会在整个租期内保持活跃,并且不包括在相关指标中。这些连接在租期内不可用。

connPoolStats.hosts.[host].created

报告到 [host] 的所有已创建的连接数量。

connPoolStats.hosts.[host].inUse

报告当前正在使用的 [host] 的连接数量。

connPoolStats.hosts.[host].wasNeverUsed

报告从 host 发出到 分片集群副本集 其他成员的出站连接总数,这些连接从未被使用过。

connPoolStats.hosts.[host].acquisitionWaitTimes

新增版本6.3.

报告从mongosmongod获取连接的请求等待时间。有关详细信息,请参阅connPoolStats.acquisitionWaitTimes

connPoolStats.replicaSets

包含代表连接到当前 mongod / mongos 的每个副本集相关的信息的报告。

connPoolStats.replicaSets.replicaSet

报告每个连接到当前 副本集mongod / mongos

connPoolStats.replicaSets.[replicaSets].hosts

包含一个文档数组,用于报告文档,描述副本集中的每个成员。

这些值来自副本集状态值。

connPoolStats.replicaSets.[replicaSet].hosts[n].addr

副本集中的成员在[hostname]:[port]格式报告地址。

connPoolStats.replicaSets.[replicaSet].hosts[n].ok

此字段仅用于内部使用。

connPoolStats.replicaSets.[replicaSet].hosts[n].ismaster

如果此 host主节点,则报告 true

connPoolStats.replicaSets.[replicaSet].hosts[n].hidden

如果此 host隐藏成员,则报告 true

connPoolStats.replicaSets.[replicaSet].hosts[n].secondary

如果此 主机辅助 成员,则返回 true

connPoolStats.replicaSets.[replicaSet].hosts[n].pingTimeMillis

报告从 mongosmongod 到此 主机 的ping时间(毫秒)。

connPoolStats.replicaSets.[replicaSet].hosts[n].tags

报告 members[n].tags,如果此集成员已配置标签。

有关 ok 状态字段、operationTime 字段和 $clusterTime 字段的详细信息,请参阅响应

主机

返回

collStats