Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

Visão geral do pool de conexões

Nesta página

  • O que é um pool de conexões?
  • Criar e usar um pool de conexões
  • Pool de conexões de cluster fragmentado
  • Configurações do pool de conexões

Este documento descreve como usar um pool de conexões para gerenciar conexões entre aplicativos e instâncias do MongoDB.

Umpool de conexões do é um cache de conexões de banco de dados abertas e prontas para uso mantidas pelo driver. Seu aplicativo pode obter conexões do pool sem problemas, executar operações e retornar conexões ao pool. Os repositórios de conexões são seguros para threads.

Um pool de conexões ajuda a reduzir a latência de aplicativos e o número de vezes que novas conexões são criadas.

Um pool de conexões cria conexões na inicialização. Os aplicativos não precisam retornar conexões manualmente ao pool. Em vez disso, as conexões retornam ao pool automaticamente.

Algumas conexões são ativas e, outras, inativas mas disponíveis. Se o aplicativo solicitar uma conexão e houver uma conexão disponível no pool, não será necessário criar uma nova conexão.

A maioria dos drivers fornece um objeto do tipo MongoClient.

Use uma instância MongoClient por aplicativo, a menos que o aplicativo esteja se conectando a vários clusters separados. Cada instância MongoClient gerencia seu próprio pool de conexões com o cluster ou nó do MongoDB especificado quando o MongoClient é criado. Os objetos MongoClient são de thread segura na maioria dos drivers.

Observação

Armazene sua instância do MongoClient em um local globalmente acessível por seu aplicativo.

Para usar um pool de conexões com LDAP, consulte Comportamento do pool de conexões LDAP.

mongos roteadores têm pools de conexão para cada nó no cluster. A disponibilidade de conexões com nós individuais dentro de um cluster fragmentado afeta a latência. As operações devem aguardar o estabelecimento de uma conexão.

Para configurar o pool de conexões, defina as opções:

  • através do URI do MongoDB,

  • programaticamente ao criar a instância MongoClient ou

  • nos arquivos de configuração do framework do seu aplicativo.

Contexto
Descrição
maxPoolSize

Número máximo de conexões abertas no pool. Quando o pool de conexões atinge o número máximo de conexões, as novas conexões aguardam até o valor de waitQueueTimeoutMS.

Padrão: 100

Número mínimo de conexões abertas no pool. O valor de minPoolSize deve ser menor que o valor de maxPoolSize.

Padrão: 0

A maioria dos drivers nunca expira, por padrão. Algumas versões dos drivers Java (por exemplo, versão 3.7) assumem como padrão 10.

Padrão: 0 para a maioria dos drivers. Consulte a documentação do driver .

Número de milissegundos para aguardar antes do tempo limite de uma conexão TCP.

Não use socketTimeoutMS para evitar operações de servidor de longa execução.

A definição de tempos limite de soquete baixo pode resultar em operações com erro antes que o servidor responda.

Padrão: 0, o que significa que não há tempo limite. Consulte a documentação do driver .

O número máximo de milissegundos que uma conexão pode permanecer inativa no pool antes de ser removida e fechada.

Padrão: Consulte a documentação do driver .

Tempo máximo de espera, em milissegundos, que um thread pode esperar até que uma conexão fique disponível. Um valor de 0 significa que não há limite.

Padrão: 0. Consulte a documentação do driver .

Número mínimo de conexões de saída que cada pool de conexões TaskExecutor pode abrir para qualquer instância mongod específica.

Padrão: 1. Consulte ShardingTaskExecutorPoolMinSize.

O parâmetro só se aplica a sistemas fragmentados.

Substituição opcional para ShardingTaskExecutorPoolMinSize definir o número mínimo de conexões de saída que cada pool de conexões TaskExecutor pode abrir para um servidor de configuração.

Quando definido como:

  • -1, ShardingTaskExecutorPoolMinSize é usado. Este é o padrão.

  • um valor inteiro maior que -1, substitui o número mínimo de conexões de saída que cada pool de conexão do TaskExecutor pode abrir para um servidor de configuração.

O parâmetro só se aplica a sistemas fragmentados.

Padrão: -1

Novidade na versão 5.0.10.

O número máximo de conexões de saída que cada pool de conexões do TaskExecutor pode abrir para qualquer instância específica do mongod.

Padrão: 2 64 - 1. Consulte ShardingTaskExecutorPoolMaxSize.

O parâmetro só se aplica a sistemas fragmentados.

Substituição opcional de ShardingTaskExecutorPoolMaxSize para definir o número máximo de conexões de saída que cada pool de conexões do TaskExecutor pode abrir para um servidor de configuração.

Quando definido como:

  • -1, ShardingTaskExecutorPoolMaxSize é usado. Este é o padrão.

  • um valor inteiro maior que -1, substitui o número máximo de conexões de saída que cada pool de conexões do TaskExecutor pode abrir para um servidor de configuração.

O parâmetro só se aplica a sistemas fragmentados.

Padrão: -1

Novidade na versão 5.0.10.

← Desempenho do MongoDB