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>, "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
インスタンスでは、この値はインスタンスが他のレプリカセット内のノードへの接続プールの最小サイズ制限を決定するために使用するポリシーを報告します。mongos
とmongod
のポリシーは、ShardingTaskExecutorPoolReplicaSetMatching
パラメータを使用して設定できます。注意
ShardingTaskExecutorPoolReplicaSetMatching
が"automatic"
に設定されている場合、"automatic"
replicaSetMatchingStrategy
が実際に使用されているポリシーを記述します。ShardingTaskExecutorPoolReplicaSetMatching
の値を見つけるには、サーバー パラメータの値を返すgetParameter
を使用します。db.adminCommand( { getParameter : 1, "ShardingTaskExecutorPoolReplicaSetMatching" : 1 } )
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>, "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
。
connPoolStats.pools.NetworkInterfaceTL-ShardRegistry
コマンドがシャーディングされたクラスターのノードで実行された場合に使用できます。
現在の
mongod
/mongos
インスタンスとシャーディングされたクラスターの他のノードとの間の接続のプール統計を表示します。
connPoolStats.pools.NetworkInterfaceTL-Replication
コマンドがレプリカセットのノードで実行された場合に使用できます。
現在の
mongod
インスタンスとレプリカセットの他のノードとの間の接続のプール統計を表示します。
connPoolStats.hosts
接続統計(使用中、利用可能/作成、またはリフレッシュ中)をホスト別にグループ化して報告します。
現在の
mongod
/ インスタンスとシャーディングされた クラスターmongos
または レプリカセット の各ノードとの間の接続のレポートを表す ドキュメント が含まれます。
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
フィールドの詳細については、「応答」も参照してください。