RDS数据库开发建议 & 监控告警配置推荐
RDS数据库开发建议 & 监控告警配置推荐
一. RDS数据库开发建议
单个数据库实例的总大小不宜过大
数据库备份恢复时间与库大小相关,大库数据恢复时间较长。各场景数据库(含数据文件和索引文件等)总大小上限 建议如下:
开源MySQL:500GB
RDS for MySQL:4TB
RDS for PostgreSQL:4TB
RDS for SQLServer:4TB
GaussDB(for MySQL):4TB
GaussDB(主备版):16TB
1.建议单个字段大小不超过2KB,表中存储大对象会占用过多数据库存储空间,也影响数据库运行效率,建议将大对象存储在对象存储等其 他系统,数据库中只存储大对象的引用链接。
2.主外键关系会降低更新及插入数据的性能,会影响数据迁移的效率。数据库中应避免使用外键,表之间的 依赖约束在业务层面解决
3.禁止对表和字段定义与数据库实例或schema不同的字符集,字符集应该在数据库实例或者schema级别指定。客户端连接数据库时只能按照数据库实例或者schema级 别设置字符集,若表或者字段定义了字符集,则会导致表或者字段级的字符集
与客户端字符集不一致,影 响业务正常处理数据
4.索引具备唯一性时,需定义成唯一索引
5.不要在选择性较低的字段上建立索引,优先在高选择度 的列上创建索引。比如在用户的“性别”列上只有“男”与“女”两个不同值,因此就无必要建立索引
6.在执行频度高,又含有排序操作的 SQL 语句中的字段,创建索引来避免排序操作,排序是一种昂贵的操作,在一秒钟执行成千上万次的SQL语句中如果带有排序动作, 往往会消耗大量的系 统资源、性能低下。索引是一种有序结构,如果order by后面的字段上建有索
引,建议使用索引而避免排 序
7.建议索引字段累加长度不超过200字节
8.单张表中索引数量不超过5个,索引在增加查询定位速度的同时,也会降低插入、删除和修改索引字段的速度,因此单表的索引数目应该 进行严格的控制。
9.不同表:字符集/校验规则不一致的字段做关联,涉及字段的隐式转换,导致索引失效,((a : utf8_general_ci,b : utf8_bin)
10.查看rds for mysql的mdl锁视图(select * from information_schema.metadata_lock_info),发现长事务
持有mdl锁
11.表无主键,使用长事务,大量长连接长期连接数据库
12. 数据库参数配置,如后台线程数参数调优Max worker threads,最大并行度(max degree of parallelism)
二.监控告警配置推荐(资源类告警)RDSforMySQL
rds001_cpu_util CPU使用率 连续3个周期 原始值 > 80 %
rds002_mem_util 内存使用率 连续3个周期 原始值 > 90 %
rds039_disk_util 磁盘利用率 连续3个周期 原始值 > 80 %
rds072_conn_usage 连接数使用率 连续3个周期 原始值 > 80 %
rds073_replication_delay 实时复制时延 连续3个周期 原始值 > 600 s
rds075_avg_disk_ms_per_read 硬盘读耗时 连续3个周期 原始值 > 50 ms
rds076_avg_disk_ms_per_write 硬盘写耗时 连续3个周期 原始值 > 50 ms
https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0084572213.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2023-02-17 最近火遍全球的 chatGPT 人工机器人 能为我们做那些事?
2023-02-17 jenkins 流水线构建发布流程
2019-02-17 Github上 10 个开源免费且优秀的后台控制面板(转)
2014-02-17 MVC 模型