Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

connPoolStats

項目一覧

  • 定義
  • 互換性
  • 構文
  • 動作
  • 出力
connPoolStats

コマンドconnPoolStats は、現在のデータベースインスタンスから のシャーディングされたクラスターまたはレプリカセットの他のノードへの開いている送信接続に関する情報を返します。

connPoolStats を実行するには、db.runCommand( { <command> } ) メソッドを使用します。

注意

connPoolStatsは、シャーディングされたクラスター内のmongosインスタンスとmongodインスタンスに対してのみ意味のある結果を返します。

このコマンドは、次の環境でホストされている配置で使用できます。

  • MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです

注意

このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

このコマンドの構文は、次のとおりです。

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

引数の値( 1 )は、コマンドの出力には影響しません。

connPoolStats には、出力に集計統計が含まれます。

  • hostsフィールドには、ホストごとに集計された情報が表示されます。

  • poolsフィールドには、プールごとに集計された情報が表示されます。

注意

実行中の操作の中断を避けるため、 connPoolStatsはロックを取得しません。 そのため、 connPoolStatsが情報を収集するにつれてカウントが若干変化する可能性があり、 hostspoolsの接続数に若干違いが生じます。

次の操作では、 メソッドを使用して、シャーディングされたクラスターの でdb.runCommand() connPoolStatsmongosコマンドを実行します。シャーディングされたクラスターには、 2のシャード、それぞれの単一ノードのレプリカセット、コンフィギュレーションサーバーのレプリカセットがあります。 mongosは4コアマシンで動作します。

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

このコマンドは、次の形式の出力を返します。

注意

connPoolStatsの出力は、 connPoolStatsを実行する配置やノードなどの要因によって異なります。

{
"numClientConnections" : <num>,
"numAScopedConnections" : <num>,
"totalInUse" : <num>,
"totalAvailable" : <num>,
"totalCreated" : <num>,
"totalRefreshing" : <num>,
"replicaSetMatchingStrategy" : <string>,
"pools" : {
"NetworkInterfaceTL-TaskExecutorPool-0" : {
"poolInUse" : <num>,
"poolAvailable" : <num>,
"poolCreated" : <num>,
"poolRefreshing" : <num>,
"cfg1.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"created" : <num>,
"refreshing" :<num>
}
},
"NetworkInterfaceTL-TaskExecutorPool-1" : {
"poolInUse" : <num>,
"poolAvailable" : <num>,
"poolCreated" : <num>,
"poolRefreshing" : <num>,
"cfg1.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"created" : <num>,
"refreshing" :<num>
}
},
"NetworkInterfaceTL-TaskExecutorPool-2" : {
"poolInUse" : <num>,
"poolAvailable" : <num>,
"poolCreated" : <num>,
"poolRefreshing" : <num>,
"cfg1.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"created" : <num>,
"refreshing" :<num>
}
},
"NetworkInterfaceTL-TaskExecutorPool-3" : {
"poolInUse" : <num>,
"poolAvailable" : <num>,
"poolCreated" : <num>,
"poolRefreshing" : <num>,
"cfg1.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"created" : <num>,
"refreshing" :<num>
}
},
"NetworkInterfaceTL-ShardRegistry" : {
"poolInUse" : <num>,
"poolAvailable" : <num>,
"poolCreated" : <num>,
"poolRefreshing" : <num>,
"cfg1.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"created" : <num>,
"refreshing" :<num>
},
"cfg2.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"created" : <num>,
"refreshing" :<num>
},
"cfg3.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"created" : <num>,
"refreshing" :<num>
},
"shard1.example.net:27018" : {
"inUse" : <num>,
"available" : <num>,
"created" : <num>,
"refreshing" :<num>
},
"shard2.example.net:27018" : {
"inUse" : <num>,
"available" : <num>,
"created" : <num>,
"refreshing" :<num>
}
},
"global" : {
"poolInUse" : <num>,
"poolAvailable" : <num>,
"poolCreated" : <num>,
"poolRefreshing" : <num>,
"cfg3.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"created" : <num>,
"refreshing" :<num>
},
"cfg1.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"created" : <num>,
"refreshing" :<num>
},
"cfg2.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"created" : <num>,
"refreshing" :<num>
},
"shard2.example.net:27018" : {
"inUse" : <num>,
"available" : <num>,
"created" : <num>,
"refreshing" :<num>
},
"shard1.example.net:27018" : {
"inUse" : <num>,
"available" : <num>,
"created" : <num>,
"refreshing" :<num>
}
}
},
"hosts" : {
"cfg3.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"created" : <num>,
"refreshing" :<num>
},
"cfg1.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"created" : <num>,
"refreshing" :<num>
},
"cfg2.example.net:27019" : {
"inUse" : <num>,
"available" : <num>,
"created" : <num>,
"refreshing" :<num>
},
"shard2.example.net:27018" : {
"inUse" : <num>,
"available" : <num>,
"created" : <num>,
"refreshing" :<num>
},
"shard1.example.net:27018" : {
"inUse" : <num>,
"available" : <num>,
"created" : <num>,
"refreshing" :<num>
}
},
"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.totalCreated

現在のmongod / mongosインスタンスによって作成された送信接続の合計数を、シャーディングされたクラスターまたはレプリカセットの他のノードに対して報告します。

connPoolStats.totalInUse

現在のmongod / mongosインスタンスから、現在使用されているシャーディングされたクラスターまたはレプリカセットの他のノードへの送信接続の合計数を報告します。

connPoolStats.totalRefreshing

現在のmongod / mongosインスタンスから、現在更新されているシャーディングされたクラスターまたはレプリカセットの他のノードへの送信接続の合計数を報告します。

connPoolStats.replicaSetMatchingStrategy

バージョン 5.0 で追加

mongosインスタンスでは、この値はインスタンスがレプリカセット内のノードへの接続プールの最小サイズ制限を決定するために使用するポリシーを報告します。

mongodインスタンスでは、この値はインスタンスが他のレプリカセット内のノードへの接続プールの最小サイズ制限を決定するために使用するポリシーを報告します。

mongosmongodのポリシーは、 ShardingTaskExecutorPoolReplicaSetMatchingパラメータを使用して設定できます。

注意

ShardingTaskExecutorPoolReplicaSetMatching"automatic"に設定されている場合、 "automatic" replicaSetMatchingStrategyが実際に使用されているポリシーを記述します。 ShardingTaskExecutorPoolReplicaSetMatchingの値を見つけるには、サーバー パラメータの値を返すgetParameterを使用します。

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

現在のmongod / インスタンスからシャーディングされた クラスター mongosまたは レプリカセット の他のノードに対するアクティブで保存されている送信 同期 接続の数を報告します。

これらの接続は、 totalAvailabletotalCreatedtotalInUseによって報告されたデータのサブセットであるプールの一部です。

connPoolStats.numAScopedConnection

現在のmongod / インスタンスからシャーディングされた クラスターmongos または レプリカセット の他のノードに対するアクティブで保存されている スコープ指定同期 接続の数を報告します。

これらの接続は、 totalAvailabletotalCreatedtotalInUseによって報告されたデータのサブセットであるプールの一部です。

connPoolStats.pools

接続プール別にグループ化された接続統計(使用中、利用可能/作成、またはリフレッシュ中)を報告します。 mongodまたはmongosには、送信接続プールの 2 つの異なるファミリーがあります。

  • DBClient ベースのプール(「書込みパス」)と

  • networkInterfaceTL ベースのプール(「読み取りパス」)。

プールごとに、 コマンドは次のようなドキュメントを返します。

{
"poolInUse" : <num>,
"poolAvailable" : <num>,
"poolCreated" : <num>,
"poolRefreshing" : <num>,
"[host1]" : { "inUse" : <num>, "available" : <num>, "created" : <num>, "refreshing" : <num> },
"[host2]" : { "inUse" : <num>, "available" : <num>, "created" : <num>, "refreshing" : <num> },
...
}

注意

特定のプールに接続(使用中、利用可能、作成済み、更新中)がない場合、 connPoolStatsはそのプールの統計情報を返しません。

connPoolStats.pools.NetworkInterfaceTL-TaskExecutorPool-[n]

TaskExecutor プールに関連する接続統計情報を表示します。 通常、コアごとに 1 つの TaskExecutorPool があり、例を以下に示します。 8 コア プロセッサの場合、 pools.NetworkInterfaceTL-TaskExecutorPool-0 ... pools.NetworkInterfaceTL-TaskExecutorPool-7

Tip

以下も参照してください。

connPoolStats.pools.NetworkInterfaceTL-ShardRegistry

コマンドがシャーディングされたクラスターのノードで実行された場合に使用できます。

現在のmongod / mongosインスタンスとシャーディングされたクラスターの他のノードとの間の接続のプール統計を表示します。

connPoolStats.pools.NetworkInterfaceTL-Replication

コマンドがレプリカセットのノードで実行された場合に使用できます。

現在のmongodインスタンスとレプリカセットの他のノードとの間の接続のプール統計を表示します。

connPoolStats.pools.global

DBClient ベースのプール統計を表示します。

connPoolStats.hosts

接続統計(使用中、利用可能/作成、またはリフレッシュ中)をホスト別にグループ化して報告します。

現在のmongod / インスタンスとシャーディングされた クラスターmongos または レプリカセット の各ノードとの間の接続のレポートを表す ドキュメント が含まれます。

connPoolStats.hosts.[host].available

[host]への接続に利用可能な接続の合計数を報告します。

connPoolStats.hosts.[host].created

作成された[host]への接続数を報告します。

connPoolStats.hosts.[host].inUse

現在使用中の[host]への接続数を報告します。

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

次の場合にfalseを報告します。

  • 現在のmongosまたはmongodは インスタンスに接続できません。

  • 現在のmongosまたはmongodが接続の例外またはエラーを受信した。

このフィールドは内部で使用します。

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

trueこのhost レプリカセット プライマリ メンバーである場合、 を報告します。

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

trueこのhost レプリカセット 非表示ノード である場合、 を報告します。

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

trueこのhost レプリカセット セカンダリ メンバーである場合、 を報告します。

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

mongosまたはmongodからこのhostへの ping 時間をミリ秒単位で報告します。

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

セットのこのメンバーにはタグが設定されている場合、 members[n].tagsを報告します。

ok ステータス フィールド、operationTime フィールド、および $clusterTime フィールドの詳細については、「応答」も参照してください。

host

戻る

collStats