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 샤드, 각각 단일 멤버 복제본 세트 및 config 서버 복제본 세트 1개가 있습니다. mongos
는 4코어 머신에서 실행됩니다.
db.runCommand( { "connPoolStats" : 1 } )
이 명령은 다음 형식의 출력을 반환합니다.
참고
connPoolStats
출력은 배포서버 및 connPoolStats
를 실행 하는 멤버에 따라 달라집니다.
{ "numClientConnections" : <num>, "numAScopedConnections" : <num>, "totalInUse" : <num>, "totalAvailable" : <num>, "totalLeased" : <num>, "totalCreated" : <num>, "totalRefreshing" : <num>, "replicaSetMatchingStrategy" : <string>, "pools" : { "NetworkInterfaceTL-TaskExecutorPool-0" : { "poolInUse" : <num>, "poolAvailable" : <num>, "poolLeased" : <num>, "poolCreated" : <num>, "poolRefreshing" : <num>, "cfg1.example.net:27019" : { "inUse" : <num>, "available" : <num>, "leased" : <num>, "created" : <num>, "refreshing" :<num> } }, "NetworkInterfaceTL-TaskExecutorPool-1" : { "poolInUse" : <num>, "poolAvailable" : <num>, "poolLeased" : <num>, "poolCreated" : <num>, "poolRefreshing" : <num>, "cfg1.example.net:27019" : { "inUse" : <num>, "available" : <num>, "leased" : <num>, "created" : <num>, "refreshing" :<num> } }, "NetworkInterfaceTL-TaskExecutorPool-2" : { "poolInUse" : <num>, "poolAvailable" : <num>, "poolLeased" : <num>, "poolCreated" : <num>, "poolRefreshing" : <num>, "cfg1.example.net:27019" : { "inUse" : <num>, "available" : <num>, "leased" : <num>, "created" : <num>, "refreshing" :<num> } }, "NetworkInterfaceTL-TaskExecutorPool-3" : { "poolInUse" : <num>, "poolAvailable" : <num>, "poolLeased" : <num>, "poolCreated" : <num>, "poolRefreshing" : <num>, "cfg1.example.net:27019" : { "inUse" : <num>, "available" : <num>, "leased" : <num>, "created" : <num>, "refreshing" :<num> } }, "NetworkInterfaceTL-ShardRegistry" : { "poolInUse" : <num>, "poolAvailable" : <num>, "poolLeased" : <num>, "poolCreated" : <num>, "poolRefreshing" : <num>, "cfg1.example.net:27019" : { "inUse" : <num>, "available" : <num>, "leased" : <num>, "created" : <num>, "refreshing" :<num> }, "cfg2.example.net:27019" : { "inUse" : <num>, "available" : <num>, "leased" : <num>, "created" : <num>, "refreshing" :<num> }, "cfg3.example.net:27019" : { "inUse" : <num>, "available" : <num>, "leased" : <num>, "created" : <num>, "refreshing" :<num> }, "shard1.example.net:27018" : { "inUse" : <num>, "available" : <num>, "leased" : <num>, "created" : <num>, "refreshing" :<num> }, "shard2.example.net:27018" : { "inUse" : <num>, "available" : <num>, "leased" : <num>, "created" : <num>, "refreshing" :<num> } }, "global" : { "poolInUse" : <num>, "poolAvailable" : <num>, "poolLeased" : <num>, "poolCreated" : <num>, "poolRefreshing" : <num>, "cfg3.example.net:27019" : { "inUse" : <num>, "available" : <num>, "leased" : <num>, "created" : <num>, "refreshing" :<num> }, "cfg1.example.net:27019" : { "inUse" : <num>, "available" : <num>, "leased" : <num>, "created" : <num>, "refreshing" :<num> }, "cfg2.example.net:27019" : { "inUse" : <num>, "available" : <num>, "leased" : <num>, "created" : <num>, "refreshing" :<num> }, "shard2.example.net:27018" : { "inUse" : <num>, "available" : <num>, "leased" : <num>, "created" : <num>, "refreshing" :<num> }, "shard1.example.net:27018" : { "inUse" : <num>, "available" : <num>, "leased" : <num>, "created" : <num>, "refreshing" :<num> } } }, "hosts" : { "cfg3.example.net:27019" : { "inUse" : <num>, "available" : <num>, "leased" : <num>, "created" : <num>, "refreshing" :<num> }, "cfg1.example.net:27019" : { "inUse" : <num>, "available" : <num>, "leased" : <num>, "created" : <num>, "refreshing" :<num> }, "cfg2.example.net:27019" : { "inUse" : <num>, "available" : <num>, "leased" : <num>, "created" : <num>, "refreshing" :<num> }, "shard2.example.net:27018" : { "inUse" : <num>, "available" : <num>, "leased" : <num>, "created" : <num>, "refreshing" :<num> }, "shard1.example.net:27018" : { "inUse" : <num>, "available" : <num>, "leased" : <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
인스턴스에서 샤드 cluster 또는 복제본 세트의 다른 멤버로 발신하는 사용 가능한 총 연결 수를 보고합니다.
connPoolStats.totalLeased
풀에서 빌린 후 반환될 것으로 예상되는 총 연결 수를 보고합니다. 이러한 연결은 임대 기간 동안 활성 상태로 유지되지 않을 수 있으며 관련 지표에서 제외됩니다. 이러한 연결은 임대 기간 동안에는 사용할 수 없습니다.
connPoolStats.totalCreated
현재
mongod
/mongos
인스턴스에서 샤드 cluster 또는 복제본 세트의 다른 멤버에게 생성된 발신 연결의 총 건수를 보고합니다.
connPoolStats.totalInUse
현재
mongod
/mongos
인스턴스에서 현재 사용 중인 샤딩된 클러스터 또는 복제본 세트 의 다른 멤버로 발신하는 연결의 총 건수를 보고합니다.
connPoolStats.totalRefreshing
현재
mongod
/mongos
인스턴스에서 현재 새로 고쳐지고 있는 샤딩된 cluster 또는 복제본 세트 의 다른 멤버로 나가는 발신 연결의 총 건수를 보고합니다.
connPoolStats.totalWasNeverUsed
현재
mongod
/mongos
인스턴스에서 사용되지 않은 채 닫힌 샤드 cluster 또는 복제본 세트 의 다른 멤버로 발신하는 연결의 총 건수를 보고합니다.
connPoolStats.replicaSetMatchingStrategy
버전 5.0에 추가.
mongos
인스턴스에서 이 값은 인스턴스에서 사용하는 정책을 보고하여 복제본 세트 내의 노드에 대한 연결 풀의 최소 크기 제한을 결정합니다.mongod
인스턴스에서 이 값은 다른 복제본 세트 내의 노드에 대한 연결 풀의 최소 크기 제한을 결정하기 위해 인스턴스가 사용하는 정책을 보고합니다.mongos
및mongod
에 대한 정책은ShardingTaskExecutorPoolReplicaSetMatching
매개 변수를 사용하여 설정할 수 있습니다.참고
ShardingTaskExecutorPoolReplicaSetMatching
가"automatic"
로 설정하다 경우replicaSetMatchingStrategy
은 여전히"automatic"
이 아닌 사용 중인 실제 정책을 설명합니다.ShardingTaskExecutorPoolReplicaSetMatching
의 값을 찾으려면 서버 매개변수의 값을 반환하는getParameter
를 사용합니다.db.adminCommand( { getParameter : 1, "ShardingTaskExecutorPoolReplicaSetMatching" : 1 } )
connPoolStats.numClientConnection
현재
mongod
/ 인스턴스에서 sharded clustermongos
또는 복제본 세트 의 다른 멤버로 보내는 활성 및 저장된 발신 동기 연결의 수를 보고합니다.이러한 연결은
totalAvailable
,totalCreated
및totalInUse
에서 보고한 데이터의 하위 집합인 풀의 일부입니다.
connPoolStats.numAScopedConnection
현재
mongod
/ 인스턴스에서 clustermongos
또는 복제본 세트 의 다른 멤버로 활성 및 저장된 발신 범위 지정 동기 연결의 수를 보고합니다.이러한 연결은
totalAvailable
,totalCreated
및totalInUse
에서 보고한 데이터의 하위 집합인 풀의 일부입니다.
connPoolStats.pools
연결 풀을 기준으로 그룹화된 연결 통계(사용/사용 가능/생성/새로 고침)를 보고합니다.
mongod
또는mongos
에는 두 개의 서로 다른 발신 연결 풀 패밀리가 있습니다.DBClient 기반 풀("쓰기 경로") 및
NetworkInterfaceTL 기반 풀("읽기 경로").
각 풀에 대해 이 명령은 다음과 유사한 문서를 반환합니다.
{ "poolInUse" : <num>, "poolAvailable" : <num>, "poolLeased" : <num>, "poolCreated" : <num>, "poolRefreshing" : <num>, "[host1]" : { "inUse" : <num>, "available" : <num>, "leased" : <num>, "created" : <num>, "refreshing" : <num> }, "[host2]" : { "inUse" : <num>, "available" : <num>, "leased" : <num>, "created" : <num>, "refreshing" : <num> }, ... } 참고
특정 풀에 대한 연결(사용 중/사용 가능/생성/새로 고침 )이 없는 경우
connPoolStats
는 해당 풀에 대한 통계를 반환하지 않습니다.connPoolStats.pools.NetworkInterfaceTL-TaskExecutorPool-[n]
TaskExecutor 풀과 관련된 연결 통계를 표시합니다. 일반적으로 코어당 하나의 TaskExecutorPool이 있습니다. 8코어 프로세서의 경우
pools.NetworkInterfaceTL-TaskExecutorPool-0
...pools.NetworkInterfaceTL-TaskExecutorPool-7
입니다.
connPoolStats.pools.NetworkInterfaceTL-ShardRegistry
명령이 샤드 cluster의 멤버에서 실행되는 경우 사용할 수 있습니다.
현재
mongod
/mongos
인스턴스와 샤드 cluster의 다른 멤버 간의 연결에 대한 풀 통계를 표시합니다.
connPoolStats.pools.NetworkInterfaceTL-Replication
명령이 복제본 세트의 멤버에서 실행되는 경우 사용할 수 있습니다.
현재
mongod
인스턴스와 복제본 세트의 다른 멤버 간의 연결에 대한 풀 통계를 표시합니다.
connPoolStats.hosts
호스트별로 그룹화된 연결 통계(사용/사용 가능/생성됨/새로 고침)를 보고합니다.
현재
mongod
/mongos
인스턴스와 cluster 또는 복제본 세트의 각 멤버 간의 연결 보고서를 나타내는 문서 가 포함됩니다.connPoolStats.hosts.[host].leased
풀에서 빌린 호스트와 반환될 것으로 예상되는 호스트의 총 연결 수를 보고합니다. 이러한 연결은 임대 기간 동안 활성 상태로 유지되지 않을 수 있으며 관련 지표에서 제외됩니다. 이러한 연결은 임대 기간 동안에는 사용할 수 없습니다.
connPoolStats.hosts.[host].wasNeverUsed
host
에서 사용된 적이 없는 sharded cluster 또는 복제본 세트 의 다른 멤버로 나가는 발신 연결의 총 건수를 보고합니다.
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].tags
세트의 이 멤버에 태그가 구성된 경우
members[n].tags
을 보고합니다.
ok
상태 필드, operationTime
필드 및 $clusterTime
필드에 대한 자세한 내용은 응답을 참조하세요.