告警解释
=======
此告警对应指标“用户库(总体)大小占用”超出配置阈值,此指标反映所有用户库占用磁盘空间大小的总和。
对系统的影响
磁盘使用率上涨,如果触发只读或磁盘满,会影响业务执行。
可能原因
- 业务数据量正常增加。
- 数据库设计不合理,比如表结构冗余、字段不规范等,会导致数据库中的数据冗余和重复,从而导致数据库大小持续增长。
- 业务未及时清理不用的磁盘空间,比如:不需要的历史数据、不用的索引。
- 数据库自动清理机制触发不及时。
处理步骤
-
收到告警后,首先查看监控指标查看指标“用户库(总体)大小占用”,确认指标情况以及触发告警的组件。
-
登录实例节点,登录系统库,执行如下语句确认自动清理机制是否开启。
show autovacuum;
-
确认自动清理机制触发是否及时,执行如下语句确认用户库及其占用空间最大的数据库。
select datname, pg_database_size(datname), pg_database_size(datname)/1024/1024/1024 as "dataSize_GB" FROM pg_database where datname not in ('template1', 'template0', 'postgres') order by 3 desc;从占用空间大的用户库开始,逐个连接,执行如下语句,确认自动清理机制触发是否及时
分布式CN,集中式主DN上执行:
select schemaname, relname, pg_table_size(concat(schemaname,'.',relname))/1024/1024/1024 as table_size_gb, n_dead_tup/(n_dead_tup+n_live_tup+1), last_autovacuum from pg_stat_user_tables order by table_size_gb desc;确认table_size_gb大表的last_autovacuum列的时间距离当前的时间。
table_size_gb为表占用的磁盘空间。
-
如果自动清理机制触发不及时,通过查看监控指标查看“数据库最长事务执行时间超长”指标,排查是否有长事务在执行。
- 是,参考ALM-5101811 Ops巡检-数据库最长事务执行时长超长确认长事务是否可以终止,如果可以终止,终止长事务,长事务可能会阻塞vacuum触发。
- 否,执行5。
-
可以考虑调整自动清理机制的autovacuum_vacuum_scale_factor和autovacuum_vacuum_threshold参数来调整触发阈值。
参数调整请联系技术支持协助评估。
-
如果上述办法无法解决vacuum不及时的问题,联系技术支持。
-
确认是否为业务正常增长。
- 如果正常,调大告警阈值。
- 如果不正常,执行8。
-
排查数据库设计是否合理,比如表结构冗余、字段不规范等,会导致数据库中的数据冗余和重复,从而导致数据库大小持续增长。
-
确认是否有不用的索引,可以考虑删除。
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
不涉及。
更多详情请参考GaussDB 文档中心:doc.hcs.huawei.com/db/zh-cn/ga…