Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Pool de Conexões

Neste guia, você aprenderá como o PyMongo usa pools de conexões para gerenciar conexões com uma MongoDB deployment e como definir as configurações do pool de conexões em seu aplicação.

Um pool de conexões é um cache de conexões de banco de dados abertas mantidas pelo PyMongo. Quando seu aplicação solicita uma conexão com o MongoDB, o PyMongo obtém uma conexão do pool sem problemas, executa operações e retorna a conexão ao pool para reutilização.

Os pools de conexões ajudam a reduzir a latência de aplicação e o número de vezes que novas conexões são criadas pelo PyMongo.

Você pode especificar as seguintes configurações do pool de conexões no seu objeto MongoClient ou em seu URI de conexão:

Contexto
Descrição

connectTimeoutMS

O tempo que o PyMongo espera ao estabelecer uma nova conexão antes de atingir o tempo limite.

Tipo de dados: int
Padrão: 20000
Exemplo do MongoClient: connectTimeoutMS = 40000
Exemplo de URI de conexão: connectTimeoutMS=40000

maxConnecting

O número máximo de conexões que cada pool pode estabelecer simultaneamente. Se esse limite for atingido, outras solicitações aguardarão até que uma conexão seja estabelecida ou outra conexão em uso seja verificada novamente no pool.

Tipo de dados: int
Padrão: 2
Exemplo do MongoClient: maxConnecting = 3
Exemplo de URI de conexão: maxConnecting=3

maxIdleTimeMS

O tempo máximo que uma conexão pode permanecer inativa no pool. Quando uma conexão excede esse limite, o PyMongo fecha a conexão e a remove do pool. Defina esse valor como maior que o período ocioso esperado do seu aplicativo, mas menor que o tempo limite de conexão do firewall ou do proxy para evitar desconexões inesperadas.

Tipo de dados: int
Padrão: None (sem limite)
Exemplo do MongoClient: maxIdleTimeMS = 60000
Exemplo de URI de conexão: maxIdleTimeMS=60000

maxPoolSize

O número máximo de conexões simultâneas que o pool mantém. Se o tamanho máximo do pool for atingido, solicitações adicionais aguardarão até que uma conexão fique disponível.

Tipo de dados: int
Padrão: 100
Exemplo do MongoClient: maxPoolSize = 150
Exemplo de URI de conexão: maxPoolSize=150

minPoolSize

O número mínimo de conexões simultâneas que o pool mantém. Se o número de conexões abertas cair abaixo desse valor devido a erros de rede, o PyMongo tentará criar novas conexões para manter esse mínimo.

Tipo de dados: int
Padrão: 0
Exemplo de MongoClient: minPoolSize = 3
Exemplo de URI de conexão: minPoolSize=3

socketTimeoutMS

O período durante o qual o PyMongo aguarda uma resposta do servidor antes do tempo limite.

Tipo de dados: int
Padrão: None (sem tempo limite)
Exemplo do MongoClient: socketTimeoutMS = 100000
Exemplo de URI de conexão: socketTimeoutMS=100000

waitQueueTimeoutMS

Por quanto tempo um thread aguarda uma conexão ficar disponível no pool de conexões antes de atingir o tempo limite.

Tipo de dados: int
Padrão: None (sem tempo limite)
Exemplo do MongoClient: waitQueueTimeoutMS = 100000
Exemplo de URI de conexão: waitQueueTimeoutMS=100000

O código a seguir cria um cliente com um tamanho máximo do pool de conexões de 50 usando o parâmetro maxPoolSize. Selecione a aba Synchronous ou Asynchronous para ver o código correspondente:

client = MongoClient(host, port, maxPoolSize=50)
client = AsyncMongoClient(host, port, maxPoolSize=50)

O código a seguir cria um cliente com a mesma configuração do exemplo anterior, mas usa um URI de conexão:

client = MongoClient(host, port, maxPoolSize=50)
client = AsyncMongoClient(host, port, maxPoolSize=50)

Para saber mais sobre pool de conexões, consulte Visão geral do pool de conexões no manual do MongoDB Server .

Para saber mais sobre qualquer um dos métodos ou tipos discutidos neste guia, consulte a seguinte documentação da API: