在使用RDS-PostgreSQL时,如果实例的CPU使用率长时间偏高,将会导致数据库读写处理性能下降,影响业务正常运行,需要重点分析原因并解决。本文提供一种排查CPU使用率高的原因和解决方法。
分析原因
通过管理控制台查看CPU使用率
部分资源池加载功能有所差异,请以控制台实际界面为准,以下以华东1资源池为例讲解相关操作步骤。
- 登录天翼云门户。
- 点击【控制中心】,选择对应资源池,例如“华东1”。
- 在产品列表页面中找到【数据库】→【关系数据库PostgreSQL版】,点击进入控制台。
- 在左侧目录中点击【PostgreSQL】→【实例管理】,点击进入产品实例管理页。
- 在【实例管理】的实例列表中选择目标实例,点击【监控】进入单个实例的监控详情面。
- 在二级菜单中选择【资源监控】,进入资源监控页后,在右上方选择对应实例对应节点,查看相关节点CPU使用率。
通过管理控制台查看语句及锁等信息,分析CPU使用率高的原因
如果CPU使用率过高,可以通过管理控制台查看当前实例的慢语句、语句执行状态、锁等信息。操作步骤(部分资源池加载功能有所差异,请以控制台实际界面为准)如下:
- 登录天翼云门户。
- 点击【控制中心】,选择对应资源池,例如“华东1”。
- 在产品列表页面中找到【数据库】→【关系数据库PostgreSQL版】,点击进入控制台。
- 在左侧目录中点击【PostgreSQL】→【实例管理】,点击进入产品实例管理页。
- 在【实例管理】的实例列表中选择目标实例,点击【监控】进入单个实例的监控详情面。
- 选择【引擎监控】,通过下拉框选定目标实例,选择“语句执行状态查询”、“Top慢语句查询” ,即可查看语句执行信息、锁分析状态、实例当前的慢语句等异常语句信息;
- 选择【日志监控】,通过下拉框选定目标实例,选择“慢日志”、“错误日志”,即可分析实例的异常日志信息。
建议解决方案
- 建议建表时一定要加索引,尤其是在多表关联查询时关联字段场景下。
- 尽量避免使用select *,减少全表扫描操作,查询时需要指定字段、指定where条件等。