Saltar al contenido

Verifique el número actual de conexiones a MongoDb

Mantén la atención porque en esta sección encontrarás el arreglo que buscas.Este enunciado ha sido probado por nuestros especialistas para garantizar la calidad y veracidad de nuestro post.

Solución:

conectarse a la base de datos de administración y ejecutar db.serverStatus():

> var status = db.serverStatus()
> status.connections
   "current" : 21, "available" : 15979
> 

Puede obtener directamente consultando

db.serverStatus().connections

Para entender lo que hace MongoDb db.serverStatus().connections media de respuesta, lea la documentación aquí.

conexiones

"connections" : 
   "current" : ,
   "available" : ,
   "totalCreated" : NumberLong()
,

conexiones
Un documento que informa sobre el estado de las conexiones. Utilice estos valores para evaluar los requisitos actuales de carga y capacidad del servidor.

conexiones.actuales
El número de conexiones entrantes de los clientes al servidor de la base de datos. Este número incluye la sesión de shell actual. Considere el valor de connections.disponible para agregar más contexto a este dato.

El valor incluirá todas las conexiones entrantes, incluidas las conexiones de shell o las conexiones de otros servidores, como miembros del conjunto de réplicas o instancias de mongos.

conexiones.disponibles
El número de conexiones entrantes no utilizadas disponibles. Considere este valor en combinación con el valor de connections.current para comprender la carga de conexión en la base de datos y el documento de configuración de ulimit de UNIX para obtener más información sobre los umbrales del sistema en las conexiones disponibles.

conexiones.totalCreado
Recuento de todas las conexiones entrantes creadas en el servidor. Este número incluye las conexiones que se han cerrado desde entonces.

Recuento de conexiones por IP de cliente, con total

Usamos esto para ver la cantidad de conexiones por IPAddress con un recuento total de conexiones. Esto fue realmente útil para depurar un problema… ¡simplemente llegue allí antes de llegar al máximo de conexiones!

Para carcasa Mongo:

db.currentOp(true).inprog.reduce((accumulator, connection) => ,  TOTAL_CONNECTION_COUNT: 0 )

Formateado:

db.currentOp(true).inprog.reduce(
  (accumulator, connection) => ,
   TOTAL_CONNECTION_COUNT: 0 
)

Ejemplo de devolución:


    "TOTAL_CONNECTION_COUNT" : 331,
    "192.168.253.72" : 8,
    "192.168.254.42" : 17,
    "127.0.0.1" : 3,
    "192.168.248.66" : 2,
    "11.178.12.244" : 2,
    "Internal" : 41,
    "3.100.12.33" : 86,
    "11.148.23.34" : 168,
    "81.127.34.11" : 1,
    "84.147.25.17" : 3

(las direcciones 192.xxx en el monitoreo interno de Atlas)

“Internos” son procesos internos que no tienen un cliente externo. Puede ver una lista de estos con esto:

db.currentOp(true).inprog.filter(connection => !connection.client).map(connection => connection.desc);

db.serverStatus() no proporciona conexiones abiertas y disponibles, pero no muestra las conexiones desde qué cliente. Para más información puedes usar este comando sudo lsof | grep mongod | grep TCP. Lo necesito cuando hice la replicación y el nodo principal tiene muchas conexiones de clientes mayores que las secundarias.

$ sudo lsof | grep mongod | grep TCP
mongod    5733             Al    6u     IPv4 0x08761278       0t0       TCP *:28017 (LISTEN)
mongod    5733             Al    7u     IPv4 0x07c7eb98       0t0       TCP *:27017 (LISTEN)
mongod    5733             Al    9u     IPv4 0x08761688       0t0       TCP 192.168.1.103:27017->192.168.1.103:64752 (ESTABLISHED)
mongod    5733             Al   12u     IPv4 0x08761a98       0t0       TCP 192.168.1.103:27017->192.168.1.103:64754 (ESTABLISHED)
mongod    5733             Al   13u     IPv4 0x095fa748       0t0       TCP 192.168.1.103:27017->192.168.1.103:64770 (ESTABLISHED)
mongod    5733             Al   14u     IPv4 0x095f86c8       0t0       TCP 192.168.1.103:27017->192.168.1.103:64775 (ESTABLISHED)
mongod    5733             Al   17u     IPv4 0x08764748       0t0       TCP 192.168.1.103:27017->192.168.1.103:64777 (ESTABLISHED)

Esto muestra que actualmente tengo cinco conexiones abiertas al puerto MongoDB (27017) en mi computadora. En mi caso, me estoy conectando a MongoDB desde un servidor Scalatra y estoy usando el controlador MongoDB Casbah, pero verá las mismas conexiones lsof TCP independientemente del cliente utilizado (siempre que se conecten usando TCP/ IP).

Valoraciones y reseñas

Agradecemos que desees respaldar nuestro ensayo poniendo un comentario o dejando una valoración te lo agradecemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *