MongoDB开启查询日志
概述
今天遇到系统的页面加载有点慢,然后就分析了一下页面的请求时间,虽然在 HTTP 的传输上花了不少时间,但是,同时响应时间也是很长的,于是乎就想看看 DB 的性能如何。本文将简单介绍一下如何不重启 MongoDB 开启查询日志。
操作步骤
使用MongoDB
的命令行输入
> use myDb
switched to db myDb
> db.getProfilingLevel()
0
> db.setProfilingLevel(2)
{ "was" : 0, "slowms" : 1, "ok" : 1 }
> db.getProfilingLevel()
2
> db.system.profile.find().pretty()
使用以下命令关闭日志并清空日志数据。
db.setProfilingLevel(0)
db.system.profile.drop()
原理说明
db.setProfilingLevel(2)
的意思就是记录所有的查询,如果不想记录所有的查询的话,可以参考2 进行设置 slowms
,当设置了 slowms
,并且这个 Level 是 0 的话,只有超过指定时间的查询才会被记录,这对于慢查询有很大的帮助。