很多時候,有些慢查詢導致MongoDB壓力很大, 花了點時間寫了個腳本循環kill些慢查詢操作.
-
- 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!");
- }
- }
- }
- }
運行方式:
- ./mongo 10.15.107.154:30000 < ./Self-Script/killSlow.js
本文出自:億恩科技【www.endtimedelusion.com】
服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]
|