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)