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 el driver .NET/C# utiliza pools de conexiones para gestionar conexiones para una implementación de MongoDB y cómo puedes configurar los ajustes de pools de conexiones en tu aplicación.

Un pool de conexiones es un caché de conexiones abiertas a base de datos mantenido por el controlador .NET/C#. Cuando la aplicación solicita una conexión a MongoDB, el controlador de .NET/C# obtiene sin problemas una conexión desde el pool, realiza las operaciones y devuelve la conexión al pool para su reutilización.

Los grupos de conexiones ayudan a reducir la latencia de la aplicación y la cantidad de veces que se crean nuevas conexiones por el Driver de .NET/C#. El siguiente diagrama ilustra una visión de alto nivel de cómo MongoClient gestiona un pool de conexiones:

Diagrama CMAP

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

Configuración
Descripción

ConnectTimeout

El tiempo máximo que el driver .NET/C# espera al establecer una nueva conexión antes de que se agote el tiempo de espera.

Tipo de dato: TimeSpan
Por defecto: 30 segundos
Ejemplo de URI de conexión: connectTimeoutMS=0

MaxConnecting

El número máximo de conexiones que cada pool 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 comprobar otra conexión en uso en el grupo.

Tipo de dato: integer
Por defecto: 2
Ejemplo de URI de conexión: maxConnecting=3

MaxConnectionIdleTime

El tiempo máximo que una conexión puede permanecer inactiva en el pool. Cuando una conexión excede este límite, el driver .NET/C# cierra la conexión y la remueve del pool.

Tipo de dato: TimeSpan
Por defecto: 10 minutos
Ejemplo de URI de conexión: maxIdleTimeMS=60000

MaxConnectionLifeTime

El tiempo máximo que se puede agrupar una conexión. Cuando una conexión excede este límite, el driver .NET/C# cierra la conexión y la remueve del pool.

Tipo de dato: TimeSpan
Por defecto: 30 minutos
Ejemplo de URI de conexión: maxLifeTimeMS=50000

MaxConnectionPoolSize

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

Tipo de dato: integer
Por defecto: 100
Ejemplo de URI de conexión: maxPoolSize=150

MinConnectionPoolSize

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, el driver de .NET/C# intenta crear nuevas conexiones para mantener este mínimo.

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

SocketTimeout

El tiempo que el driver .NET/C# espera una respuesta del servidor antes de que se agote el tiempo de espera.

Tipo de dato: TimeSpan
Por defecto: por defecto del sistema operativo
Ejemplo de URI de conexión: socketTimeoutMS=100000

WaitQueueTimeout

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: TimeSpan
Por defecto: 2 minutos
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 utilizando el parámetro MaxConnectionPoolSize:

var settings = MongoClientSettings.FromConnectionString("<connection URI>");
settings.MaxConnectionPoolSize = 50;
var client = new MongoClient(settings);

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

var settings = MongoClientSettings.FromConnectionString("<hostname>?maxPoolSize=50");
var client = new MongoClient(settings);

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: