Las alertas de conexión normalmente se producen cuando se ha superado el número máximo de conexiones permitidas a un proceso de MongoDB. Una vez que se supera el límite, no se podrá abrir ninguna nueva conexión hasta que el número de conexiones abiertas se reduzca por debajo del límite.
Condiciones de alerta
Puedes configurar las siguientes condiciones de alerta en la página de Configuración de alertas a nivel de proyecto para activar alertas.
Connections esto ocurre si el número de conexiones activas al host cumple con el promedio especificado.
Connections % of configured limit ocurre si el número de conexiones abiertas al host supera el porcentaje especificado.
Desencadenantes comunes
Superar el límite de conexiones para un clúster de Atlas puede ocurrir por varias razones. Los diferentes niveles de Atlas tienen diferentes límites de conexión.
Por ejemplo, los clústeres Free (antes conocidos como M0) y Flex están limitados a 500 conexiones. Los clústeres M10 están limitados a 1500 conexiones. Los niveles de clúster más grandes tienen límites de conexión más altos.
Las distintas aplicaciones de acceso a bases de datos tienen diferentes maneras de implementar el agrupamiento de conexiones, lo que afecta la cantidad de conexiones abiertas que mantiene tu aplicación en cualquier momento.
Soluciona el problema inmediato
Clústeres gratuitos y Clústeres Flexibles
Para resolver una condición de alerta de conexión:
Reinicie la aplicación que actualmente está estableciendo conexiones con su clúster de Atlas. Reiniciar la aplicación termina todas las conexiones existentes abiertas por la aplicación y permite que el clúster de Atlas reanude las operaciones normales.
Elimina todas las entradas de la lista de acceso IP dentro del proyecto. El Clúster Flexible y Free se conectan a través de un proxy que aplica la lista de acceso a las conexiones activas. Eliminar las entradas de su lista de acceso borra todas las conexiones realizadas por servidores de aplicaciones activos.
M10+ Clústeres
Los clústeres Atlas de tamaño M10 o mayor pueden utilizar la opción Prueba de conmutación por error primaria. El procedimiento de intercambio de fallas de prueba primaria desciende el actual nodo primario y desencadena una elección, que elimina todas las conexiones al nodo primario.
Nota
Si tu aplicación se conecta exclusivamente a un nodo secundario, es posible que debas realizar el procedimiento de Prueba de Failover varias veces para asegurarte de que el nodo secundario correspondiente rote su posición dentro del set de réplicas y descarte sus conexiones.
La conmutación por error de prueba suele ser la solución preferible, pero otra solución posible es reiniciar la aplicación que actualmente está realizando conexiones a su clúster de Atlas. Reiniciar la aplicación termina todas las conexiones existentes y permite que el clúster Atlas reanude operaciones normales.
Implemente una solución a largo plazo
Las alertas de conexión suelen ser un síntoma de un problema mayor. Utilizar una de las estrategias mencionadas anteriormente solucionará el problema inmediato, pero una solución permanente suele requerir:
Examina tus aplicaciones de base de datos para verificar si tienen un código de conexión defectuoso. Las situaciones en las que se abren conexiones pero nunca se cierran pueden permitir que se acumulen conexiones antiguas y finalmente se supere el límite de conexiones. Además, es posible que necesite implementar alguna forma de agrupamiento de conexiones.
Actualizar a un nivel de clúster de Atlas más grande que permita una mayor cantidad de conexiones, si su base de usuarios es demasiado grande para el nivel de clúster actual.
Supervisa tu progreso
Visualiza la gráfica Connections para supervisar el número total de conexiones al clúster.
Supervisa las conexiones para determinar si los límites de conexión actuales son suficientes. Si es necesario, escale el nivel del clúster.
Para aprender más, consulta Ver métricas del clúster.