概述

今天遇到觉得一个系统的页面加载有点慢,然后就分析了一下页面的请求时间,虽然在 HTTP 的传输上花了不少时间,但是,同时响应时间也是很长的,于是乎就想看看 DB 的性能如何。本文将简单介绍一下如何不重启 MongoDB 开启查询日志。

操作步骤

根据查找到的资料,要开启查询日志,有两种方式,一种是设置 MongoDB 的配置,然后重启,然后在日志文件中看到;另外一种就是设置 DB 的属性,然后可以直接在 Collections 中看到,我选择的是第二种,具体的操作过程为:

  1. [[email protected].io]# mongo
  2. > use doge;
  3. > db.setProfilingLevel(2)

就这么简单就可以查看所有的查询记录了:

  1. > db.system.profile.find().pretty()

原理说明

db.setProfilingLevel(2) 的意思就是记录所有的查询,如果不想记录所有的查询的话,可以参考2 进行设置 slowms,当设置了 slowms,并且这个 Level 是 0 的话,只有超过指定时间的查询才会被记录,这对于慢查询有很大的帮助。

Ref