云数据库 RDS 磁盘使用率计算方法和处理方案
用户在使用 MySQL 实例时,会遇到空间使用告警甚至超过实例限额被锁定的情况。用户可以在云数据库 RDS 控制台的实例基本信息中,查看磁盘使用率,如下图所示。当云数据库 RDS 的磁盘使用率超过80%时,用户会收到相关的通知短信,当达到100%后实例被锁定。本文将介绍造成磁盘使用率过高的常见原因及其相应的解决方法。
磁盘使用率计算方法
云数据库 RDS 实例已用磁盘空间包括binlog和数据量。磁盘使用率的计算方法:(binlog大小+数据文件大小)/磁盘套餐大小。
常见原因
造成 MySQL 实例空间使用率过高,主要有如下几种原因: 1、 Binlog文件占用高。 Binlog 文件记录实例的事务信息,是 MySQL 实例同步架构以及高可用性、可恢复性的基础,是不可以关闭的。云数据库 RDS 实例会以一定时间间隔自动清理最近 7天外的 Binlog 文件。 2、数据文件占用高。
查看空间使用状况
您可以通过云数据库 RDS 控制台中的监控中查看实例磁盘空间的使用率曲线。
解决方法
1、升级实例规格 升级实例规格是解决磁盘使用率问题的有效方式。目前,云数据库 RDS 已支持最大存储空间可达到3000TB。建议您将实例规格升级至更高磁盘大小的套餐,升级实力规格的操作步骤如下。 (1)登录 云数据库 RDS 控制台 (2)选择目标实例所在地域。 (3)单击目标实例的ID,进入基本信息页面。 (4)在配置信息栏中,单击变更配置。
(5)选择升级到的磁盘规模,建议同时升级内存大小,单击确认变更。
2、清理数据 对于数据文件占用空间高的情况,可以通过清理数据的方式来减少空间占用情况,可以通过 drop table 和 truncate table 命令来清理不再需要的数据表,用 delete 命令来删除不再需要的数据。