问题描述:
当分析生产环境发生的性能问题时,常常因为没有实时的依据而无从下手。那么笔者通过捕获db.currentOp()到文件,并作为定时任务,可供后续分析。
解决方法:
步骤一:Shell脚本记录db.currentOp()
1. 创建文件夹
1
|
mkdir
currentOp
|
2.创建currentOp.sh
1
2
3
4
5
6
7
|
#!/bin/sh
MONGO=
/usr/bin/mongo
DATE=$(
date
+%Y%m%d%H%M)
CURRENTOPFILE=
/home/xucy/currentOp/
$DATE
$MONGO admin -uxucy –pPassw0rd --
eval
"rs.slaveOk();printjson(db.currentOp());"
> $CURRENTOPFILE 2>&1
LOCATION=
/home/xucy/currentOp/
find
$LOCATION -mtime +1 -
type
f |
xargs
rm
-f
|
步骤二:加入Crontab定时任务
1
2
|
crontab
–e
*
/5
* * * *
/bin/sh
/home/xucy/currentOp
.sh >
/dev/null
2>&1
|
本文转自UltraSQL51CTO博客,原文链接:http://blog.51cto.com/ultrasql/1614322
,如需转载请自行联系原作者