You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB 4.4 CE profiling设为0仍输出慢查询日志原因咨询

原因说明

db.setProfilingLevel() 控制的是MongoDB内置性能分析器(Profiler)向system.profile集合写入数据的逻辑,和慢查询日志的打印规则是两套独立的控制体系,设置等级为0仅代表停止记录Profiler数据,不会禁用慢查询日志输出。出现你描述的现象,常见原因如下:

  • 慢查询日志默认单独由实例参数控制,只要操作耗时超过slowms阈值就会打印到mongod.log,和Profiling等级无关。你命令返回结果中slowms为100,说明100ms以上的慢操作都会继续被记录。
  • 如果你的部署是副本集或分片集群,仅在单节点执行该命令不会影响其他节点的慢查询日志打印规则,其余节点仍会正常记录慢操作。
  • MongoDB 4.4版本默认会额外记录触发全表扫描(COLLSCAN)的操作,即便这类操作耗时未达到slowms阈值,只要扫描/返回的文档数达到标准,也会被写入慢查询日志,该逻辑同样不受Profiling等级控制。
关闭慢查询日志的方法

如果需要彻底停止慢查询日志打印,可执行以下运行时命令即时生效:

db.adminCommand({ setParameter: 1, slowOpThresholdMs: -1 })

如需永久生效,修改mongod.conf配置文件添加如下配置后重启实例即可:

operationProfiling:
  slowOpThresholdMs: -1

内容的提问来源于stack exchange,提问作者realtebo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 06:06:08