JS腳本強制kill掉MongoDB慢查詢數據庫
如下是用JavaScript腳本寫的循環kill操做,它能夠強制kill MongoDB數據庫慢查詢。bash
不少時候,有些慢查詢致使MongoDB壓力很大, 花了點時間寫了個腳本循環kill些慢查詢操做。ide
var j = 0; var _DEF_TIME = 10; //設置慢查詢時間 for (var i in db.currentOP().inprog) { var op = ""; var opid; var memProg = {} if (typeof(undefined) == typeof(db.currentOP().inprog[i])) { continue; } memProg = db.currentOP().inprog[i]; op = memProg.op; opid = memProg.opid; print(i); if (op == "query") { if (memProg.hasOwnProperty(‘secs_running’)) { var useTime = memProg.secs_running; if (useTime >= _DEF_TIME) { db.killOp(opid); j++; print("killed " + j + " Query Operation!"); } } } }
運行方式:spa
./mongo localhost:30000 < ./Self-Script/killSlow.js