On this page
profile
在本页面
Definition
profile
- 启用,禁用或配置Database Profiler。探查器捕获并记录有关正在运行的mongod实例上的写操作,游标和数据库命令的性能的数据。
探查器默认情况下处于关闭状态。
Important
分析可能会影响性能并与系统日志共享设置。在生产部署上配置和启用探查器之前,请仔细考虑所有性能和安全隐患。
有关潜在性能下降的更多信息,请参见Profiler Overhead。
profile命令具有以下语法:
{
profile: <level>,
slowms: <threshold>,
sampleRate: <rate>
}
Field | Type | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
profile |
int | Default: 0 | ||||||||||||
指定应分析哪些操作。 提供以下探查器级别: |
级别 | 描述 |
-1 |
返回当前的探查器级别,但不会更改它。 | 0 |
关闭事件探查器,使其不收集任何数据。这是默认的探查器级别。 | 1 |
设置事件探查器以收集花费时间大于slowms 的操作的数据。 |
2 |
设置探查器以收集所有操作的数据。 | ||||
slowms |
int | 可选。默认值:100 * slow 操作时间阈值,以毫秒为单位。运行时间超过此阈值的操作被视为 slow *。 |
当logLevel设置为0
时,MongoDB 以slowOpSampleRate确定的速率将* slow *操作记录到诊断日志中。对于从版本 3.6.11 开始的 MongoDB 3.6 部署,副本集的第二副本将设置日志所有花费比慢操作阈值更长的时间的 oplog 条目消息,而与采样率无关。
在更高的logLevel设置下,所有操作都将显示在诊断日志中,而与它们的延迟无关,但以下情况除外:记录次要节点的操作日志 Importing 消息缓慢。辅助服务器仅记录慢速操作日志条目;增加logLevel不会记录所有操作日志条目。
Note
此参数影响与配置选项slowOpThresholdMs相同的设置。
|
| sampleRate
| double |可选。默认值:1.0
> * slow *操作应分析的比例。
> sampleRate
接受 0 到 1 之间的值(包括 0 和 1)。
> [!NOTE|label:Note]
此参数影响与配置选项slowOpSampleRate相同的设置,并且不影响次要节点上的 oplog 条目日志消息缓慢(从 3.6.11 版本开始,适用于 MongoDB 3.6 部署)。
3.6 版中的新功能。
db.getProfilingStatus()和db.setProfilingLevel() shell methods为profile命令提供了包装。
Behavior
profile命令在启用或禁用探查器时会在受影响的数据库上获得写锁定。这通常是一个简短的操作。锁定会阻止其他操作,直到profile命令完成为止。
See also