Docs Menu
Docs Home
/ /
Rendimiento

Descripción general del pool de conexiones

Este documento describe cómo usar un pool de conexiones para administrar las conexiones entre aplicaciones e instancias de MongoDB.

Un pool de conexiones es una caché de conexiones de base de datos abiertas y listas para usar, mantenida por el driver. La aplicación puede obtener conexiones del pool sin problemas, realizar operaciones y devolver las conexiones al pool. Los pools de conexiones son seguros para subprocesos.

Un pool de conexiones ayuda a reducir la latencia de la aplicación y la cantidad de veces que se crean nuevas conexiones.

Un pool de conexiones crea conexiones al inicio. Las aplicaciones no necesitan devolver manualmente las conexiones al grupo de conexiones. En su lugar, las conexiones regresan automáticamente al grupo.

Algunas conexiones están activas y otras están inactivas pero disponibles. Si tu aplicación solicita una conexión y hay una disponible en el grupo, no es necesario crear una nueva conexión.

La mayoría de los controladores proporcionan un objeto de tipo MongoClient.

Utilice una instancia MongoClient por aplicación, a menos que la aplicación se conecte a muchos clústeres separados. Cada MongoClient instancia gestiona su propio pool de conexiones al clúster o nodo de MongoDB especificado cuando se crea el MongoClient. Los objetos MongoClient son seguros para subprocesos en la mayoría de los controladores.

Nota

Se debe almacenar la instancia de MongoClient en un lugar que sea accesible globalmente por la aplicación.

Para utilizar un grupo de conexiones con LDAP, consulte Comportamiento del grupo de conexiones LDAP.

mongos Los routers tienen pools de conexiones para cada nodo en el clúster. La disponibilidad de conexiones a nodos individuales dentro de un clúster fragmentado afecta la latencia. Las operaciones deben esperar a que se establezca una conexión.

Para configurar el grupo de conexiones, configure las opciones:

  • a través de la URI de MongoDB,

  • programáticamente al construir la instancia MongoClient, o

  • en los archivos de configuración del marco de su aplicación.

Configuración
Descripción

Número máximo de conexiones abiertas en el pool. Cuando el pool de conexiones alcanza el número máximo de conexiones, las nuevas conexiones esperan hasta el valor de waitQueueTimeoutMS.

Por defecto: 100

Número mínimo de conexiones abiertas en el pool. El valor de minPoolSize debe ser menor que el valor de maxPoolSize.

Por defecto: 0

La mayoría de los drivers, por defecto, nunca se agotan. Algunas versiones de los drivers de Java (por ejemplo, la versión 3.7) tienen por defecto el valor 10.

Por defecto: 0 para la mayoría de los drivers. Se debe consultar la documentación sobre drivers.

Número de milisegundos que se deben esperar antes de que se agote el tiempo de espera en una conexión TCP.

No utilices socketTimeoutMS como mecanismo para prevenir operaciones de servidor de larga duración.

Configurar tiempos de espera de socket bajos puede resultar en que las operaciones fallen antes de que el servidor responda.

Valor 0predeterminado:, lo que significa que no hay tiempo de espera. Consulte la documentación del controlador.

El número máximo de milisegundos que una conexión puede permanecer inactiva en el pool antes de ser eliminada y cerrada.

Por defecto: se debe consultar la documentación su driver.

Tiempo máximo de espera en milisegundos que un hilo puede esperar para que una conexión esté disponible. Un valor de 0 significa que no hay ningún límite.

Valor predeterminado:. Consulte0 la documentación de su controlador.

Número mínimo de conexiones salientes que cada pool de conexiones de TaskExecutor puede abrir a cualquier instancia mongod.

Valor 1predeterminado:.ShardingTaskExecutorPoolMinSize Véase.

El parámetro solo se aplica a las implementaciones fragmentadas.

Anulación opcional de para establecer la cantidad mínima de conexiones salientes que cada grupo de conexiones ShardingTaskExecutorPoolMinSize deTaskExecutor puede abrir a un servidor de configuración.

Cuando se establece en:

  • -1, se utiliza ShardingTaskExecutorPoolMinSize. Este es el valor por defecto.

  • un valor entero mayor que -1 anula la cantidad mínima de conexiones salientes que cada pool de conexiones de TaskExecutor puede abrir a un servidor de configuración.

El parámetro solo se aplica a las implementaciones fragmentadas.

Por defecto: -1

Novedades en la versión 6.0.

Número máximo de conexiones salientes que cada grupo de conexiones TaskExecutor puede abrir a cualquier mongod instancia determinada.

Predeterminado: 2 64 1-.ShardingTaskExecutorPoolMaxSize Véase.

El parámetro solo se aplica a las implementaciones fragmentadas.

Anulación opcional de para establecer la cantidad máxima de conexiones salientes que cada grupo de conexiones TaskExecutor puede abrir a un ShardingTaskExecutorPoolMaxSize servidorde configuración.

Cuando se establece en:

  • -1, se utiliza ShardingTaskExecutorPoolMaxSize. Este es el valor por defecto.

  • un valor entero mayor que -1, sobrescribe el número máximo de conexiones salientes que cada pool de conexiones de TaskExecutor puede abrir a un servidor de configuración.

El parámetro solo se aplica a las implementaciones fragmentadas.

Por defecto: -1

Novedades en la versión 6.0.

Volver

Rendimiento

En esta página