很多时候,有些慢查询导致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.enkj.com】
服务器租用/服务器托管中国五强!虚拟主机域名注册顶级提供商!15年品质保障!--亿恩科技[ENKJ.COM]
|