Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Pools de conexiones

En esta guía, puedes aprender cómo PyMongo utiliza los pools de conexiones para gestionar las conexiones a una implementación de MongoDB y cómo puedes configurar los ajustes del pool de conexiones en tu aplicación.

Un pool de conexiones es una caché de conexiones de base de datos abiertas mantenidas por PyMongo. Cuando tu aplicación solicita una conexión a MongoDB, PyMongo obtiene de manera transparente una conexión del pool, realiza las operaciones y devuelve la conexión al pool para que se reutilice.

Las agrupaciones de conexiones ayudan a reducir la latencia de la aplicación y la cantidad de veces que PyMongo crea nuevas conexiones.

Puede especificar los siguientes ajustes del grupo de conexiones en su objeto MongoClient o en su URI de conexión:

Configuración
Descripción

connectTimeoutMS

El tiempo que PyMongo espera al establecer una nueva conexión antes de que se agote el tiempo de espera.

Tipo de datos: int
Predeterminado: 20000
Ejemplo de MongoClient: connectTimeoutMS = 40000
Ejemplo de URI de conexión: connectTimeoutMS=40000

maxConnecting

Número máximo de conexiones que cada grupo puede establecer simultáneamente. Si se alcanza este límite, las solicitudes posteriores esperan hasta que se establezca una conexión o se vuelva a poner en el grupo otra conexión en uso.

Tipo de datos: int
Predeterminado: 2
Ejemplo de MongoClient: maxConnecting = 3
Ejemplo de URI de conexión: maxConnecting=3

maxIdleTimeMS

El tiempo máximo que una conexión puede permanecer inactiva en el pool. Cuando una conexión supera este límite, PyMongo la cierra y la elimina del pool. Establezca este valor por encima del período de inactividad esperado de su aplicación, pero por debajo de los tiempos de espera de conexión del firewall o del proxy para evitar desconexiones inesperadas.

Tipo de datos: int
Predeterminado: None (sin límite)
Ejemplo de MongoClient: maxIdleTimeMS = 60000
Ejemplo de URI de conexión: maxIdleTimeMS=60000

maxPoolSize

Número máximo de conexiones simultáneas que admite el pool. Si se alcanza el tamaño máximo del pool, las solicitudes posteriores esperan hasta que haya una conexión disponible.

Tipo de datos: int
Predeterminado: 100
Ejemplo de MongoClient: maxPoolSize = 150
Ejemplo de URI de conexión: maxPoolSize=150

minPoolSize

El número mínimo de conexiones simultáneas que mantiene el grupo. Si el número de conexiones abiertas cae por debajo de este valor debido a errores de red, PyMongo intenta crear nuevas conexiones para mantener este mínimo.

Tipo de dato: int
Por defecto: 0
Ejemplo de MongoClient: minPoolSize = 3
Ejemplo de URI de conexión: minPoolSize=3

socketTimeoutMS

La duración que PyMongo espera una respuesta del servidor antes de que se agote el tiempo de espera.

Tipo de dato: int
Por defecto: None (sin tiempo de espera)
Ejemplo de MongoClient: socketTimeoutMS = 100000
Ejemplo de URI de conexión: socketTimeoutMS=100000

waitQueueTimeoutMS

Cuánto tiempo espera un hilo a que una conexión esté disponible en el pool de conexiones antes de que se agote el tiempo de espera.

Tipo de dato: int
Por defecto: None (sin tiempo de espera)
Ejemplo de MongoClient: waitQueueTimeoutMS = 100000
Ejemplo de URI de conexión: waitQueueTimeoutMS=100000

El siguiente código crea un cliente con un tamaño máximo de pool de conexiones de 50 usando el parámetro maxPoolSize. Selecciona la pestaña Synchronous o Asynchronous para ver el código correspondiente:

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

El siguiente código crea un cliente con la misma configuración que el ejemplo anterior, pero utiliza un URI de conexión:

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

Para obtener más información sobre los pools de conexiones, consulta Descripción general del pool de conexiones en el manual del servidor de MongoDB.

Para aprender más sobre cualquiera de los métodos o tipos analizados en esta guía, consulta la siguiente documentación de API: