今天我想测试这两个参数“profile”和“slowms”。以下是我的案例:
profile为1,slowms为200
更新这两个参数“profile”和“slowms”
个人资料为2,慢速度为200
当参数“profile”为2时,为什么日志文件和system.profile没有相关信息?谢谢!
答案 0 :(得分:1)
所有慢速查询都会写入mongod日志。默认slowms
值为100毫秒。
MongoDB profiling levels允许将其他信息写入数据库的system.profile上限集合。
分析级别为:
0 - off
1 - write slow operations
to the system.profile collection
2 - write all operations to the system.profile collection
如果将概要分析级别作为命令行或配置文件参数传递,则它们会影响所有数据库的缺省值。您还可以使用db.setProfilingLevel(..)
shell中的db.getProfilingLevel(..)
和mongo
来设置或获取每个数据库的分析级别。
所以对你的第一次测试:
这是预期结果,您的分析设置为1,慢速为200ms:
进行第二次测试:
日志文件没有相关的操作信息,system.profile没有相关的文件
请注意,如果分析级别为2,您将在system.profile中收集更多条目。 find()的默认顺序将从最旧到最新,因此如果要查看给定集合的最新查询,则需要按相反的自然顺序排序。
例如,要查找people
数据库中test
集合的最后一个查询,您可以搜索test.people
命名空间,类似于:
db.system.profile.find({'ns':'test.people'}).sort({$natural:-1}).limit(1)