问题描述:
当分析生产环境发生的性能问题时,常常因为没有实时的依据而无从下手。那么笔者通过捕获db.currentOp()到文件,并作为定时任务,可供后续分析。
解决方法:
步骤一:Shell脚本记录db.currentOp()
1. 创建文件夹
mkdir currentOp
2.创建currentOp.sh
#!/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定时任务
crontab –e */5 * * * * /bin/sh /home/xucy/currentOp.sh > /dev/null 2>&1
本文出自 “SQL Server Deep Dives” 博客,请务必保留此出处http://ultrasql.blog.51cto.com/9591438/1614322
原文地址:http://ultrasql.blog.51cto.com/9591438/1614322