JS腳本強制kill掉MongoDB慢查詢

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
相關文章
相關標籤/搜索