慢日志管理

最近更新时间:2024-09-02 19:03:41

我的收藏
云数据库 MongoDB 控制台支持查看数据库运行过程中产生的慢日志,分析慢日志以优化数据库性能。

背景信息

在 MongoDB 中慢日志经常作为优化业务操作的依据。关于慢日志的更多信息请参考 官方文档
系统为您提供两种查询方式,分别详述如下:
抽象查询:根据时间段查询慢日志, 查询结果以 command(操作)类型进行的聚合查询分析 。
具体查询:指定具体的操作命令来查询慢日志,查询结果以列表的形式列举操作命令的耗时时间,以及日志详情。

版本说明

当前 MongoDB 所有版本均支持对慢日志进行管理。

使用须知

系统会记录执行时间超过100毫秒的操作。
慢日志保留时间为7天,单次查询时间跨度不超过1天 。
查询仅限前1万条慢日志,若查询结果缓慢,请缩小查询时间范围。

前提条件

云数据库 MongoDB 副本集实例或分片实例的状态为运行中

操作步骤

查询慢日志

1. 登录 MongoDB 控制台
2. 在左侧导航栏 MongoDB 的下拉列表中,选择副本集实例或者分片实例。副本集实例与分片实例操作类似。
3. 在右侧实例列表页面上方,选择地域。
4. 在实例列表中,找到目标实例。
5. 单击目标实例 ID,进入实例详情页面。
6. 选择数据库管理页签,再选择慢日志查询页签。
7. 慢日志查询页面,选择查询方式查询慢日志。
抽象查询:选择查询时间段,并设置耗时时间阈值,单击查询
具体查询:在查询命令选择需查询的具体的执行命令,再选择查询时间段,并设置耗时时间阈值,单击查询
8. 查看慢日志,并分析。
抽象查询结果包含四个字段:
查询方式:抽象查询。
样例语句:以 command 类型为聚合维度而输出的语句,记录慢日志的操作。用户排查问题时主要参考 command。
说明:
请关注 command、COLLSCAN、IXSCAN、keysExamined、docsExamined 等关键字,更多日志说明,请参见 MongoDB 官网
command 指出慢日志中记录的操作。
COLLSCAN 代表该查询进行了全表扫描,IXSCAN 代表进行了索引扫描。
keysExamined 代表索引扫描条目,docsExamined 代表文档扫描条目。keysExamined 和 docsExamined 越大代表没有建索引或者索引的区分度不高。索引优化,请参见 索引优化解决读写性能瓶颈
平均执行时间(MS):以 command 类型为维度聚合的操作的平均执行时间,单位是毫秒。
总次数:以 command 类型为维度聚合的操作的次数统计。

具体查询结果包含三个字段:
查询方式:具体查询。
耗时:业务命令的执行时间,单位为毫秒。
日志详情:业务命令详情。


管理慢查询

查看慢日志请求语句

1. 慢查询管理页面,可以查看慢日志的请求语句。
2. 在右上角搜索框,输入查询信息可以进行搜索。
参数名称
参数信息
Query 语句
查询语句
Op 类型
操作类型
节点位置
执行操作所在的节点
命令空间
数据库表的命名空间
已执行时间
耗时时间
详情
执行语句详情信息

批量 Kill

1. 慢查询管理页面,选择需清理的慢日志请求语句。
2. 单击列表上方的批量 Kill,准备清理。
3. 提示对话框,认真阅读提示信息。
4. 单击确定

下载慢日志文件

1. 慢日志下载列表页面,可以查看当前的慢日志文件。
2. 找到需下载的文件,在其操作列,单击下载

相关 API

API 接口
API 描述
DescribeSlowLogs
DescribeSlowLogPatterns