tencent cloud

云数据库 MongoDB

动态与公告
产品动态
公告
新手指引
产品简介
产品概述
产品优势
应用场景
集群架构
产品规格
产品功能
地域和可用区
名词解释
购买指南
计费概述
产品定价
计费公式
欠费说明
备份空间计费
变配计费说明
快速入门
快速创建实例
连接 MongoDB 实例
读写数据库
操作指南
访问管理
管理实例
节点管理
版本升级
网络配置
系统监控
备份与回档
数据库审计
数据安全
SSL 认证
日志管理
数据库管理
多可用区部署
只读灾备
参数配置
回收站
任务管理
诊断优化
数据迁移指引
实践教程
索引优化解决读写性能瓶颈
分片集群 Mongos 负载不均解析及应对方案
分片集群使用注意事项
MongoDB 协议实例读写示例
基于 CVM 连接 MongoDB 进行数据导入导出的方法
3.6版本实例反复创建和删除同名数据库时报错怎么办
无法连接 MongoDB 解决方法
删减分片任务:进度确认与异常排查指南
性能调优
运维开发指南
开发规范
3.2版本分片集群命令支持情况
3.6版本命令支持情况
开发运维
故障处理
慢查询增多
连接数超限
API 文档
History
Introduction
API Category
Making API Requests
Instance APIs
Backup APIs
Account APIs
Other APIs
Task APIs
Introduction
Data Types
Error Codes
SDK 参考
Shell连接示例
PHP 连接示例
Node.js连接示例
Java 连接示例
Python连接示例
Python 读写示例
Go 连接示例
PHP 重连示例
产品性能
测试环境
测试方法
测试结果
常见问题
费用相关问题
功能特性问题
分片集群问题
实例相关问题
回档备份问题
连接相关问题
数据迁移问题
其他常见问题
相关协议
服务等级协议
Terms of Service
词汇表
联系我们

CPU 使用率偏高解决方法

PDF
聚焦模式
字号
最后更新时间: 2024-05-07 17:21:28

问题描述

日常运维,登录 MongoDB 控制台,单击实例 ID 进入实例详情页面,选择系统监控页签,检查实例的监控指标详情,发现数据库 CPU 监控类 指标明显持续偏高。

原因分析及解决方法

序号
可能原因
原因分析
排查方法
解决方法
1
频繁建立短连接

实例大量资源消耗在处理频繁短连接上,引起 CPU 使用率较高,连接数较高,然而 QPS(集群每秒访问次数)未达到预期。
借助数据库智能管家 DBbrain 的诊断优化功能,分析数据库实例的实时会话统计视图及数据,确认是否存在连接数突增的现象。具体查询方式,请参见 实时会话
将短连接调整为长连接,不同语言类型的更多参数信息,请参见 MongoDB 官网
2
业务侧存在较多非预期的请求耗时较长
非预想的请求较多,或者被恶意请求,可能会导致 CPU 资源过度浪费。
请借助数据库智能管家(TencentDB for DBbrain,DBbrain)的诊断优化功能,在实时会话页面,排查业务侧所有连接的客户端请求,是否为业务实际真实所需。
对于非预期的请求,可在数据库智能管家 (TencentDB for DBbrain,DBbrain)的 诊断优化中,在实时会话页面,直接进行 Kill 操作,进行清理。具体操作,请参见 实时会话
数据库智能管家(TencentDB for DBbrain,DBbrain)的诊断优化中,在SQL 限流页面,创建 SQL 限流任务,自主设置 SQL 类型、最大并发数、限流时间、SQL 关键词,来控制数据库的请求访问量和 SQL 并发量,从而达到服务的可用性。具体操作及应用案例,请参见 SQL限流
3
存在高复杂的请求

高复杂的请求,可能因为如下原因导致 CPU 资源过度消耗。
排序操作:在查询过程中进行排序,本身将消耗较大 CPU资源。
全表扫描:若数据库没有使用索引,请求将可能进行全表扫描,对 CPU 和 IO 资源造成较大的压力,从而导致性能下降。
不合理的索引:可能会因为覆盖的字段不足,索引字段的顺序不合理,而导致大量的物理读和逻辑读,占有较多 CPU 资源
高复杂的查询请求,通常比较耗时,会相应产生慢日志。可借助数据库智能管家 DBbrain 的诊断优化功能进行慢日志分析,在慢日志信息列表中,查看是否存在相关的关键字。具体操作,请参见 慢 SQL 分析
排序相关关键字:Sort、hasSortStage 等。
全表扫描关键字
COLLSCAN:说明该查询进行了全表扫描。
docsExamined:代表文档扫描条目。docsExamined 值越大,扫描的文档条目就越多,消耗 CPU 资源越多。
不合理索引关键字
IXSCAN:代表进行了索引扫描。
keysExamined:指明索引扫描条目。keysExamined 值越大,扫描的条目就越多,消耗CPU资源越多。
针对慢查询,请进行索引优化。
可借助数据库智能管家(TencentDB for DBbrain,DBbrain)索引推荐 ,选择最优的索引。
请参见最佳实践 索引优化解决读写性能瓶颈,提升数据库性能。
4
5
6
业务上涨,资源不足
业务量上涨,数据规模增长,当前实例的 CPU 规格不足。
登录 MongoDB 控制台,单击实例 ID 进入实例详情页面,选择系统监控页签,查看实例总请求指标 QPS,查看节点每秒被请求的次数是否明显偏高。

调整实例配置规格。
Mongod 节点:提升Mongod 的 CPU 与内存配置。具体信息,请参见 变更 Mongod 节点配置规格
Mongos 节点:如果 Mongos 达到瓶颈,请提升 Mongos 的节点规格,或增加 Mongos 数量。具体操作,请参见 变更 Mongos 节点配置规格新增 Mongos 节点


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈