RDS for MySQL监控指标常见问题
“swap利用率”上升是否会对业务造成影响?
按照Linux操作系统Swap分区的使用策略,即使操作系统整体内存使用率较低,也会判定当前内存使用压力较高,从而调用Swap来缓解内存压力。操作系统调用Swap后,Swap中的内存不会主动释放,导致监控显示Swap利用率持续上升。这种上升属于正常现象,不会对业务产生影响。
“磁盘I/O处于非空闲状态的时间百分比”达到100%是否说明磁盘负载达到上限?
该指标表示磁盘设备的繁忙程度,表示有I/O(非空闲)的时间百分比。因磁盘有并行处理多个I/O请求的能力,即使该指标达到100%也不意味着设备饱和。磁盘负载是否达到上限,需要结合实例的存储类型与IOPS、硬盘读写吞吐量指标判断,参考文档数据库实例存储类型。
“网络输出吞吐量”周期性上涨的原因是什么?
该指标用于统计平均每秒从测量主机的网卡输出的流量,Binlog、审计日志等日志备份过程所产生的流量和数据库承载业务量正相关,可能导致网络输出吞吐量呈周期性上涨,这种上升属于正常现象。
“等待行锁事务数”、“当前行锁等待数”、“历史行锁平均等待时间”指标的区别和处理建议
| 指标ID | 指标名称 | 指标含义 | 指标来源 | 指标类型 | 指标异常处理建议 |
|---|---|---|---|---|---|
| rds_innodb_lock_waits | 等待行锁事务数 | 该指标用于统计当前等待行锁的Innodb事务数,以个为单位。 | 对于5.x版本为information_schema.innodb_lock_waits表事务统计信息。 对于8.0版本为performance_schema.data_lock_waits表事务统计信息,8.0版本需要开启performance_schema参数。 | 瞬时值 | 建议通过管理锁&事务查看是否有阻塞会话和等待会话,kill掉阻塞会话实现快速恢复。 |
| rds_innodb_row_lock_current_waits | 当前行锁等待数 | 该指标用于统计Innodb当前行锁等待数,以个为单位。 | 状态值Innodb_row_lock_current_waits | 瞬时值 | |
| rds_innodb_row_lock_time_avg | 历史行锁平均等待时间 | 该指标用于统计Innodb历史行锁平均等待时间,以毫秒为单位。 | 状态值Innodb_row_lock_time_avg | 累计值(实例重启后才会清零) |
连接数相关指标的区别和处理建议
| 指标ID | 指标名称 | 指标含义 | 指标来源 | 指标类型 | 指标异常处理建议 |
|---|---|---|---|---|---|
| rds006_conn_count | 数据库总连接数 | 该指标用于统计试图连接到MySQL服务器的总连接数,以个为单位。 | 状态值Threads_connected | 瞬时值 |
|
| rds072_conn_usage | 连接数使用率 | 该指标用于统计当前已用的MySQL连接数占最大连接数的百分比。 | 状态值Threads_connected与参数max_connections的比值 | 瞬时值 | |
| rds007_conn_active_count | 当前活跃连接数 | 该指标用于统计非sleep状态的连接,以个为单位。 | 状态值Threads_running | 瞬时值 |
|
| rds_conn_active_usage | 活跃连接数使用率 | 该指标统计活跃连接数占最大连接数的百分比。 | 状态值Threads_running与参数max_connections的比值 | 瞬时值 |