Buscar y matar procesos problemáticos en MongoDB

A veces puede pasarnos que MongoDB tarde o deje de dar respuesta. Esto suele deberse a una operación de larga duración o bloqueantes, como creación de índices, Jobs MapReduce muy costosos,…

Para detectar operaciones de larga duración MongoDB ofrece el método db.currentOp() que nos identifica las operaciones en progreso.

Una forma típica de usarlo es esta:

db.currentOp().inprog.forEach(

function(op) {

if(op.secs_running > 5) printjson(op);

}

)

 

Que nos representa en JSON las operaciones en proceso que llevan más de 5 segundos

Otras consultas típicas:

La salida de este comando devolverá una información como esta:

Una vez analizado cuales son los procesos que están creando problemas podré matar ciertas operaciones usando el comando:

db.killOp(1344808)

Leer más

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s