Ocasionalmente, las operaciones se descontrolan en MongoDB y pueden terminar ejecutándose durante cientos de segundos e impactar el rendimiento hasta que se eliminen o se completen.
Cuando eso suceda, sé que tengo killOp()
a mi disposición, pero ¿cómo mato solo las operaciones de ejecución prolongada sin también matar (por ejemplo) las operaciones de ejecución prolongada involucradas en la replicación (que puede ser peligroso)?
fuente
db.currentOp()
en nuestra base de datos fragmentada devuelve operaciones en el "" espacio de nombres (también conocido como ns: "") que se ejecutan durante mucho tiempo con un desc de "repl writer worker n" (donde n es un número entero). Sugeriría incluir en la lista blanca los espacios de nombres a sus bases de datos reales con consultas que desee eliminar. Algo parecido en&& (['users', 'analytics'].indexOf(op.ns) != -1)
lugar de la!op.ns.startsWith
condición.