Esiste una funzione chiamata db.currentOp()
che elenca le query attualmente in esecuzione con informazioni molto dettagliate, include anche la durata dell'esecuzione (secs_running
).
È quindi possibile utilizzare il currentOp.opid
con db.killOp()
per terminare quella query/operazione.
Se db.currentOp()
non restituisce alcun risultato, perché non ci sono query che sono andate nel caos, quindi c'è anche db.setProfilingLevel()
che consentirà la profilazione memorizzando le query nel database "locale". Qui
è un "Tutorial" tratto da "M102:MongoDB for DBAs"
Corso.
Ulteriori informazioni possono essere trovate anche in questo articolo dettagliato "Risoluzione dei problemi di MongoDB 100% carico CPU e query lente" di Igor Khomenko.