connPoolStats
Definição
connPoolStats
O comando
connPoolStats
retorna informações sobre as conexões de saída abertas da instância do banco de dados de dados atual para outros membros docluster fragmentado ou conjunto de réplicas.Para executar
connPoolStats
, use o métododb.runCommand( { <command> } )
.Observação
connPoolStats
só retorna resultados significativos para instânciasmongos
e para instânciasmongod
em clusters fragmentados.
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
Observação
Este comando é aceito em todos os clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas para todos os comandos, consulte Comandos sem suporte.
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Sintaxe
O comando tem a seguinte sintaxe:
db.runCommand( { "connPoolStats" : 1 } )
O valor do argumento (ou seja, 1
) não afeta a saída do comando.
Comportamento
connPoolStats
inclui estatísticas agregadas em sua saída:
O campo
hosts
exibe as informações agregadas por host.O campo
pools
exibe as informações agregadas por grupo.
Observação
Para evitar interferência em qualquer operação em andamento, connPoolStats
não usa nenhum bloqueio. Assim, as contagens podem mudar ligeiramente à medida que connPoolStats
coleta informações, resultando em pequenas diferenças entre as contagens de conexões hosts
e pools
.
Exemplo
A seguinte operação utiliza o método db.runCommand()
para executar o comando connPoolStats
em um mongos
de um cluster fragmentado. O cluster fragmentado tem 2 shards, cada um deles um conjunto de réplicas de um único membro, e um conjunto de réplicas de servidor de configuração de configuração. O mongos
é executado em uma máquina 4-core.
db.runCommand( { "connPoolStats" : 1 } )
O comando retorna a saída do seguinte formulário:
Observação
A saída connPoolStats
varia dependendo do sistema e do membro em relação ao qual você executa connPoolStats
, entre outros fatores.
{ "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> }
Saída
connPoolStats.totalAvailable
Informa o número total de conexões de saída disponíveis da instância
mongod
/mongos
atual para outros membros do cluster fragmentado ou conjunto de réplicas.
connPoolStats.totalCreated
Relata o número total de conexões de saída já criadas pela instância
mongod
/mongos
atual para outros membros do cluster fragmentado ou conjunto de réplicas.
connPoolStats.totalInUse
Relata o número total de conexões de saída da instância atual do
mongod
/mongos
para outros membros do cluster fragmentado ou conjunto de réplicas que estão atualmente em uso.
connPoolStats.totalRefreshing
Relata o número total de conexões de saída da instância
mongod
/mongos
atual para outros membros do cluster fragmentado ou conjunto de réplicas que estão sendo atualizados no momento.
connPoolStats.replicaSetMatchingStrategy
Novidades na versão 5.0.
Em uma instância
mongos
, esse valor reporta a política usada pela instância para determinar o limite de tamanho mínimo de seu pool de conexões para nós dentro dos conjuntos de réplicas.Em uma instância
mongod
, esse valor reporta a política usada pela instância para determinar o limite de tamanho mínimo de seus pool de conexões para nós dentro de outros conjuntos de réplicas.A política para
mongos
emongod
pode ser definida com o parâmetroShardingTaskExecutorPoolReplicaSetMatching
.Observação
Se o
ShardingTaskExecutorPoolReplicaSetMatching
estiver definido como"automatic"
, oreplicaSetMatchingStrategy
ainda descreverá a política real que está sendo usada, não"automatic"
. Para localizar o valor doShardingTaskExecutorPoolReplicaSetMatching
, utilizegetParameter
que retorna o valor do parâmetro do servidor :db.adminCommand( { getParameter : 1, "ShardingTaskExecutorPoolReplicaSetMatching" : 1 } )
connPoolStats.numClientConnection
Informa o número de conexões síncronas de saída ativas e armazenadas da instância
mongod
/mongos
atual para outros membros do cluster fragmentado ou conjunto de réplicas.Essas conexões fazem parte de um pool que é um subconjunto dos dados relatados por
totalAvailable
,totalCreated
etotalInUse
.
connPoolStats.numAScopedConnection
Informa o número de conexões síncronas com escopo de saída ativas e armazenadas da instância
mongod
/mongos
atual para outros membros do cluster fragmentado ou conjunto de réplicas.Essas conexões fazem parte de um pool que é um subconjunto dos dados relatados por
totalAvailable
,totalCreated
etotalInUse
.
connPoolStats.pools
Relatórios sobre estatísticas de conexão (em uso/disponível/criada/atualizada) agrupadas pelo pool de conexões. A
mongod
ormongos
has two distinct families of outgoing connection pools:Pools baseados em DBClient (o "caminho de gravação") e
Pools baseados em NetworkInterfaceTL (o "caminho de leitura").
Para cada pool, o comando retorna um documento semelhante ao seguinte:
{ "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> }, ... } Observação
Se não houver conexões (em uso/disponíveis/criadas/em atualização) para um determinado pool, o
connPoolStats
não retornará estatísticas para esse pool.connPoolStats.pools.NetworkInterfaceTL-TaskExecutorPool-[n]
Exibe estatísticas de conexão relacionadas aos pools do TaskExecutor. Normalmente, haverá um TaskExecutorPool por núcleo, por exemplo
pools.NetworkInterfaceTL-TaskExecutorPool-0
...pools.NetworkInterfaceTL-TaskExecutorPool-7
para um processador de 8 núcleos.
connPoolStats.pools.NetworkInterfaceTL-ShardRegistry
Disponível se o comando for executado em um nó de um cluster fragmentado.
Exibe as estatísticas do pool para as conexões entre a instância
mongod
/mongos
atual e outros membros do cluster fragmentado.
connPoolStats.pools.NetworkInterfaceTL-Replication
Disponível se o comando for executado em um membro de um conjunto de réplicas.
Exibe as estatísticas do pool para as conexões entre a instância do
mongod
atual e os outros nós do conjunto de réplicas.
connPoolStats.hosts
Relatórios sobre estatísticas de conexão (em uso/disponível/criado/atualizando) agrupados pelos hosts.
Contém documentos que representam um relatório de conexões entre a instância
mongod
/mongos
atual e cada membro do cluster fragmentado ou conjunto de réplicas.
connPoolStats.replicaSets
Contém documentos que representam um relatório de informações relacionadas a cada conjunto de réplicas conectado ao
mongod
/mongos
atual.connPoolStats.replicaSets.replicaSet
Relatórios sobre cada conjunto de réplica conectado ao atual
mongod
/mongos
.
connPoolStats.replicaSets.[replicaSets].hosts
Contém uma array de documentos que reporta cada membro no conjunto de réplicas.
Esses valores derivam dos valores de status do conjunto de réplicas .
connPoolStats.replicaSets.[replicaSet].hosts[n].addr
Informa o endereço do nó no conjunto de réplicas no formato
[hostname]:[port]
.
connPoolStats.replicaSets.[replicaSet].hosts[n].ok
Informa
false
quando:Este campo é para uso interno.
connPoolStats.replicaSets.[replicaSet].hosts[n].ismaster
Relata
true
se estehost
for o membro principal do conjunto de réplicas.
connPoolStats.replicaSets.[replicaSet].hosts[n].hidden
Relata
true
se essehost
for um nó oculto do conjunto de réplicas.
connPoolStats.replicaSets.[replicaSet].hosts[n].secondary
Os relatórios
true
se essehost
for um nó secundário do conjunto de réplicas.
connPoolStats.replicaSets.[replicaSet].hosts[n].pingTimeMillis
Relata o tempo de ping em milissegundos do
mongos
oumongod
até estehost
.
connPoolStats.replicaSets.[replicaSet].hosts[n].tags
Relata o
members[n].tags
, se esse membro do conjunto tiver tags configuradas.
Consulte também Resposta para detalhes sobre o campo de status do ok
, o campo operationTime
e o campo $clusterTime
.