根据我在这里找到的Mongo文档:
https://docs.mongodb.com/v3.2/tutorial/manage-the-database-profiler/#profiling-levels
数据库分析器级别为“0”表示
剖析器关闭,不收集任何数据。 mongod总是将比slowOpThresholdMs阈值更长的操作写入其日志。这是默认的探查器级别。
同时等级'1'表示
仅收集慢速操作的分析数据。默认情况下,慢速操作慢于100毫秒。 您可以使用slowOpThresholdMs运行时选项或setParameter命令修改“慢”操作的阈值。有关详细信息,请参阅“为慢操作指定阈值”部分。
我不知道这些是如何不同的。它们都只记录慢速操作,并且都查看相同的值(slowOpThresholdMs)来执行此操作。
我错过了什么吗?如果这些确实是某些,那么有人知道为什么选项如此定义?我感到困惑,因为文档的其他部分(例如https://docs.mongodb.com/v3.2/reference/method/db.setProfilingLevel/)似乎表明0级意味着没有任何剖析,这不是我观察到的。
答案 0 :(得分:1)
剖析器信息有两种可能的目标:
system.profile
集合 level
控制所写内容及其写入位置:
级别0表示没有输出写入system.profile
集合,但Mongo会将有关操作的信息输出到slowOpThresholdMs
到Mongo日志
级别1表示Mongo会将探查器文档写入system.profile
集合,以进行超过slowOpThresholdMs
和* 的操作.Mongo将打印有关操作的信息花费比slowOpThresholdMs
更长的Mongo日志
因此,关键的区别在于,个人资料文档将被写入system.profile
集合以获取级别> 0