db.setProfilingLevel()
慢查询分析与性能诊断
语法
db.setProfilingLevel(<level>, <slowms>)说明
MongoDB 内置的 Profiler 可以记录慢查询,用于性能诊断和优化。0=关闭,1=仅记录慢查询(>slowms),2=记录所有操作。数据存入 system.profile 集合。
参数
level必填0=关闭, 1=慢查询, 2=全部操作
slowms慢查询阈值(毫秒),默认 100ms
sampleRate采样率 0-1,仅记录部分慢查询
示例
开启慢查询记录
记录超过 50ms 的查询
db.setProfilingLevel(1, { slowms: 50 })查看当前配置
查看 profiling 状态和设置
db.getProfilingStatus()查看慢查询日志
查询最近的慢操作记录
db.system.profile.find({ millis: { $gt: 100 } }).sort({ ts: -1 }).limit(10)关闭 profiling
停止记录以降低开销
db.setProfilingLevel(0)