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
Se puede exceder el límite de conexión de un clúster Atlas por diversas razones. Los distintos 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 formas de implementar agrupación de conexiones, que afecta la cantidad de conexiones abiertas que mantiene su aplicación en un momento dado.
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 su aplicación se conecta exclusivamente a un nodo secundario, es posible que deba realizar el procedimiento de conmutación por error de prueba varias veces para asegurarse de que el nodo secundario correspondiente gire su posición dentro del conjunto de réplicas y descarte sus conexiones.
La conmutación por error de prueba suele ser la solución preferible, pero otra posible solución es reiniciar la aplicación que actualmente establece conexiones con el clúster Atlas. Reiniciar la aplicación finaliza todas las conexiones existentes y permite que el clúster Atlas reanude sus operaciones normales.
Implemente una solución a largo plazo
Las alertas de conexión suelen ser un síntoma de un problema mayor. Emplear una de las estrategias descritas anteriormente solucionará el problema inmediato, pero una solución permanente suele requerir:
Examinar sus aplicaciones de base de datos para detectar errores en el código de conexión. Las conexiones que se abren pero nunca se cierran pueden provocar que las conexiones antiguas se acumulen y, con el tiempo, superen el límite de conexiones. Además, podría ser necesario implementar algún tipo de agrupación 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
Ver el Connections gráfica para supervisar el número total de conexiones al clúster.
Supervise 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.