云数据库 RDS-RDS for PostgreSQL实例inodes过多导致数据库重启缓慢:场景二
场景二
- 场景描述
使用RDS for PostgreSQL数据库时,业务创建了大量的表。某一时间连接数与业务量激增,数据库进程内存耗尽发生OOM,从而导致数据库重启,但重启过程非常缓慢,导致业务较长时间不可用。
- 原因分析
由于数据库发生了OOM进而导致进程重启,在启动时会进入故障恢复模式,这时内核进程会遍历所有表并做fsync(将os缓存内容刷新至磁盘),如果业务创建的表对象过多,在启动时便会消耗大量时间进行遍历,从而导致数据库启动缓慢,影响业务可用性。
- 解决方案
- 建议业务侧限制创建表的数量,单实例表数量最好不超过2万,单库表数量最好不超过4千,详见实例使用规范。
- 建议业务侧配置内存监控,必要时扩充内存规格,尽量避免OOM发生。同时关注inode数监控指标,控制创建的对象数量。
- 云数据库 RDS for PostgreSQL只读实例_PG只读实例_华为云
- 华为云数据库 RDS for PostgreSQL 实例规格介绍
- PostgreSQL_云数据库RDS for PostgreSQL_华为云
- GaussDB集群搭建_SQL数据库是谁发明的_高斯数据库集群搭建_华为云
- 云数据库 RDS 的实例存储类型有哪些
- 云数据库免费_mysql数据库是免费的吗_有哪些数据库
- 云数据库 RDS for PostgreSQL数据库权限_PG数据库管理_华为云
- MySQL连接数据库_MySQL创建数据库语句_MySQL怎么删除数据库
- 免费的MySQL云数据库_数据库管理系统有哪些_MySQL查询表
- 免费数据库_免费在线mysql数据库_mysql云数据库_数据库使用-华为云