天天看点

JS脚本强制kill掉MongoDB慢查询

以下是用JavaScript脚本写的循环kill操作,它可以强制kill MongoDB数据库慢查询。

很多时候,有些慢查询导致MongoDB压力很大, 花了点时间写了个脚本循环kill些慢查询操作。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

<code>var</code> <code>j = 0;   </code>

<code>var</code> <code>_DEF_TIME = 10; </code><code>//设置慢查询时间    </code>

<code>for</code> <code>(</code><code>var</code> <code>i </code><code>in</code> <code>db.currentOP().inprog) {    </code>

<code>    </code><code>var</code> <code>op = </code><code>""</code><code>;    </code>

<code>    </code><code>var</code> <code>opid;    </code>

<code>    </code><code>var</code> <code>memProg = {}    </code>

<code>    </code><code>if</code> <code>(</code><code>typeof</code><code>(undefined) == </code><code>typeof</code><code>(db.currentOP().inprog[i])) {    </code>

<code>        </code><code>continue</code><code>;    </code>

<code>    </code><code>}    </code>

<code>    </code><code>memProg = db.currentOP().inprog[i];    </code>

<code>    </code><code>op = memProg.op;    </code>

<code>    </code><code>opid = memProg.opid;    </code>

<code>    </code><code>print(i);    </code>

<code>    </code><code>if</code> <code>(op == </code><code>"query"</code><code>) {    </code>

<code>        </code><code>if</code> <code>(memProg.hasOwnProperty(‘secs_running’)) {    </code>

<code>            </code><code>var</code> <code>useTime = memProg.secs_running;    </code>

<code>            </code><code>if</code> <code>(useTime &gt;= _DEF_TIME) {    </code>

<code>                </code><code>db.killOp(opid);    </code>

<code>                </code><code>j++;    </code>

<code>                </code><code>print(</code><code>"killed "</code> <code>+ j + </code><code>" Query Operation!"</code><code>);    </code>

<code>            </code><code>}    </code>

<code>        </code><code>}    </code>

<code>}</code>

运行方式:

<code>.</code><code>/mongo</code> <code>localhost:30000 &lt; .</code><code>/Self-Script/killSlow</code><code>.js</code>

<code></code>

本文转自UltraSQL51CTO博客,原文链接:http://blog.51cto.com/ultrasql/1706487 ,如需转载请自行联系原作者

上一篇: JS