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
には、出力に集計統計が含まれます。
注意
実行中の操作の中断を避けるため、 connPoolStats
はロックを取得しません。 そのため、 connPoolStats
が情報を収集するにつれてカウントが若干変化する可能性があり、 hosts
とpools
の接続数に若干違いが生じます。
例
次の操作では、 メソッドを使用して、シャーディングされたクラスターの でdb.runCommand()
connPoolStats
mongos
コマンドを実行します。シャーディングされたクラスターには、 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
インスタンスでは、この値はインスタンスが他のレプリカセット内のノードへの接続プールの最小サイズ制限を決定するために使用するポリシーを報告します。mongos
とmongod
のポリシーは、ShardingTaskExecutorPoolReplicaSetMatching
パラメータを使用して設定できます。注意
ShardingTaskExecutorPoolReplicaSetMatching
が"automatic"
に設定されている場合、"automatic"
replicaSetMatchingStrategy
が実際に使用されているポリシーを記述します。ShardingTaskExecutorPoolReplicaSetMatching
の値を見つけるには、サーバー パラメータの値を返すgetParameter
を使用します。db.adminCommand( { getParameter : 1, "ShardingTaskExecutorPoolReplicaSetMatching" : 1 } )
connPoolStats.acquisitionWaitTimes
バージョン 6.3 で追加。
ドキュメントは、
mongos
からmongod
への接続を取得するためのリクエストの待機時間のヒストグラムを報告します。ドキュメントには、ミリ秒単位の時間範囲と各範囲内の接続リクエストの数が含まれています。
-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
または レプリカセット の他のノードに対するアクティブで保存されている送信 同期 接続の数を報告します。これらの接続は、
totalAvailable
、totalCreated
、totalInUse
によって報告されたデータのサブセットであるプールの一部です。
connPoolStats.numAScopedConnection
現在の
mongod
/ インスタンスからシャーディングされた クラスターmongos
または レプリカセット の他のノードに対するアクティブで保存されている スコープ指定同期 接続の数を報告します。これらの接続は、
totalAvailable
、totalCreated
、totalInUse
によって報告されたデータのサブセットであるプールの一部です。
connPoolStats.pools
接続プール別にグループ化された接続統計(使用中、利用可能/作成、またはリフレッシュ中)を報告します。
mongod
またはmongos
には、送信接続プールの 2 つの異なるファミリーがあります。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 プールに関連する接続統計情報を表示します。 通常、コアごとに 1 つの TaskExecutorPool があり、例を以下に示します。 8 コア プロセッサの場合、
pools.NetworkInterfaceTL-TaskExecutorPool-0
...pools.NetworkInterfaceTL-TaskExecutorPool-7
。
connPoolStats.pools.NetworkInterfaceTL-ShardRegistry
コマンドがシャーディングされたクラスターのノードで実行された場合に使用できます。
現在の
mongod
/mongos
インスタンスとシャーディングされたクラスターの他のノードとの間の接続のプール統計を表示します。
connPoolStats.pools.NetworkInterfaceTL-Replication
コマンドがレプリカセットのノードで実行された場合に使用できます。
現在の
mongod
インスタンスとレプリカセットの他のノードとの間の接続のプール統計を表示します。
connPoolStats.pools.[pool].acquisitionWaitTimes
バージョン 6.3 で追加。
mongos
からmongod
への接続を取得するためのリクエストの待機時間を報告します。 詳細については、connPoolStats.acquisitionWaitTimes
を参照してください。
connPoolStats.hosts
接続統計(使用中、利用可能/作成、またはリフレッシュ中)をホスト別にグループ化して報告します。
現在の
mongod
/ インスタンスとシャーディングされた クラスターmongos
または レプリカセット の各ノードとの間の接続のレポートを表す ドキュメント が含まれます。connPoolStats.hosts.[host].leased
プールからホストされ、返されると予想されるホストへの接続の合計数を報告します。 これらの接続はリージョン中はアクティブではない可能性があり、関連メトリクスから除外されます。 これらの接続は、リージョン中は使用できなくなります。
connPoolStats.hosts.[host].acquisitionWaitTimes
バージョン 6.3 で追加。
mongos
からmongod
への接続を取得するためのリクエストの待機時間を報告します。 詳細については、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].ismaster
true
このhost
が レプリカセット の プライマリ メンバーである場合、 を報告します。
connPoolStats.replicaSets.[replicaSet].hosts[n].hidden
true
このhost
が レプリカセット の 非表示ノード である場合、 を報告します。
connPoolStats.replicaSets.[replicaSet].hosts[n].secondary
true
このhost
が レプリカセット の セカンダリ メンバーである場合、 を報告します。
connPoolStats.replicaSets.[replicaSet].hosts[n].tags
セットのこのメンバーにはタグが設定されている場合、
members[n].tags
を報告します。
ok
ステータス フィールド、operationTime
フィールド、および $clusterTime
フィールドの詳細については、「応答」も参照してください。