
310
|
第
18
章
> db.setProfilingLevel(1, 500)
{ "was" : 2, "slowms" : 100, "ok" : 1 }
要关闭分析器,可以将分析级别设置为
0
:
> db.setProfilingLevel(0)
{ "was" : 1, "slowms" : 500, "ok" : 1 }
将
slowms
设置为较低的值通常不是一个好主意。即使分析器处于关闭状态,
slowms
也会
对
mongod
产生影响
:因为它决定了在日志中打印慢速操作的阈值。因此,如果将
slowms
设置为
2
,那么每个耗时超过两毫秒的操作都将显示在日志中,即使分析器是关闭的。因
此,如果调低了
slowms
来分析某些东西,那么可能需要在关闭分析器之前将它重新调高。
可以使用
db.getProfilingLevel()
来查看当前的分析级别。分析级别不是持久的:重新启
动数据库会清除级别的设定值。
也有用于配置分析级别的命令行选项,即
--profile +
level
和
--slowms +
time
,但是提
升分析级别通常是临时的调试措施,而不应该长期添加到配置中。
在
MongoDB 4.2
中
,通过添加
queryHash
和
planCacheKey
字段,分析器条目和诊断日志消
息被扩展为读
/
写操作
,以帮助提高对慢查询的识别。
queryHash
字符串表示查询形状的
哈希值,并且仅依赖于查询的形状。每个查询形状都与一个
queryHash
相关联,从而更容
易突显出使用相同形状的查询。
planCacheKey