Visão geral do pool de conexões
Nesta página
Este documento descreve como usar um pool de conexões para gerenciar conexões entre aplicativos e instâncias do MongoDB.
O que é um pool de conexões?
Definição
Um pool de conexões é 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, executar operações e retornar conexões ao pool sem problemas. Os pools de conexões são seguros para threads.
Benefícios de um pool de conexões
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.
Criar e usar um pool de conexões
Use uma instância do MongoClient
objeto do seu motorista
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.
Autenticação
Para usar um pool de conexões com LDAP, consulte Comportamento do pool de conexões LDAP.
Pool de conexões de cluster fragmentado
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.
Configurações do pool de conexões
Você pode especificar as configurações do pool de conexões nestes locais:
Instância
MongoClient
do seu aplicativoOs arquivos de configuração da estrutura do seu aplicativo
Configurações
Contexto | Descrição |
---|---|
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 Padrão: | |
Número máximo de conexões que um pool pode estabelecer simultaneamente.
Aumentar o valor de Padrão: | |
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. | |
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 Padrão: | |
Número mínimo de conexões abertas no pool. O valor de Padrão: | |
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 Padrão: 2 64 - 1 O parâmetro só se aplica a sistemas fragmentados. | |
Substituição opcional de Quando definido como:
O parâmetro só se aplica a sistemas fragmentados. Padrão: Novidades na versão 6.0. | |
Número mínimo de conexões de saída que cada pool de conexões TaskExecutor pode abrir para qualquer instância Padrão: O parâmetro só se aplica a sistemas fragmentados. | |
Substituição opcional para Quando definido como:
O parâmetro só se aplica a sistemas fragmentados. Padrão: Novidades na versão 6.0. | |
Número de milissegundos para aguardar antes do tempo limite de uma conexão TCP. Não use A definição de tempos limite de soquete baixo pode resultar em operações com erro antes que o servidor responda. Padrão: | |
Tempo máximo de espera, em milissegundos, que uma thread pode esperar até que uma conexão fique disponível. Um valor de Padrão: |