TDSQL-C MySQL 版从实例维度以及数据库代理节点维度提供监控指标。
说明:
以下监控指标数据可通过控制台、云 API 查看,查看方法请参见 查看监控。
监控指标单位中的 N 指当前查询监控时间粒度的单位,如:查询监控时间粒度为5秒,则 N 为秒(s),查询监控时间粒度为1分钟,则 N 为分(min)。
并行查询相关监控指标,为 TDSQL-C MySQL 版8.0内核版本3.1.8及以上版本支持的指标。
列存索引相关监控指标,为 TDSQL-C MySQL 版8.0内核版本3.1.14支持的指标。
实例维度监控指标
类别 | 监控指标(中文) | 监控指标(英文) | 单位 | 数据聚合方式 | |
资源监控 | | CPU 使用率 | cpu_use_rate | % | MAX |
| | 内存使用率 | memory_use_rate | % | MAX |
| | 内存使用量 | memory_use | MB | MAX |
| | 存储使用率 | storage_use_rate | % | MAX |
| | 存储使用量 | storage_use | GB | MAX |
| | 数据表空间使用量 | data_use | GB | MAX |
| | 临时表空间使用量 | tmp_use | GB | MAX |
| | undo 表空间使用量 | undo_use | GB | MAX |
| | CCU | CCU | 个 | MAX |
| | 每秒发送客户端总流量 | bytes_sent | MB/秒 | MAX |
| | 每秒接收客户端总流量 | bytes_received | MB/秒 | MAX |
| | 读请求 IOPS | read_iops | 个/秒 | MAX |
| | 写请求 IOPS | write_iops | 个/秒 | MAX |
| | 总 IOPS | iops | 个/秒 | MAX |
| | 读 I/O 吞吐量 | read_bandwidth | MB/秒 | MAX |
| | 写 I/O 吞吐量 | write_bandwidth | MB/秒 | MAX |
| | 总 I/O 吞吐 | io_bandwidth | MB/秒 | MAX |
| | 日志占用的存储空间 | log_capacity | GB | MAX |
引擎监控 | 连接 | 每秒执行操作数 | qps | 个/秒 | MAX |
| | 每秒执行事务数 | tps | 个/秒 | MAX |
| | 连接数利用率 | connection_use_rate | % | MAX |
| | 最大连接数 | max_connections | 个 | MAX |
| | 当前打开连接数 | threads_connected | 个 | MAX |
| | 已创建的线程数 | threads_created | 个 | SUM |
| | 运行的线程数 | threads_running | 个 | MAX |
| 访问 | 慢查询数 | slow_queries | 个 | SUM |
| | 全表扫描数 | select_scan | 个 | SUM |
| | 查询数 | com_select | 个 | SUM |
| | 更新数 | com_update | 个 | SUM |
| | 删除数 | com_delete | 个 | SUM |
| | 插入数 | com_insert | 个 | SUM |
| | 覆盖数 | com_replace | 个 | SUM |
| | 总请求数 | queries | 个 | SUM |
| | 提交数 | com_commit | 个 | SUM |
| | 回滚数 | com_rollback | 个 | SUM |
| | 全表扫描复合查询次数 | select_full_join | 个 | SUM |
| | 范围扫描复合查询次数 | select_full_range_join | 个 | SUM |
| | 排序合并通过次数 | sort_merge_passes | 个 | SUM |
| | Qcache 命中率 | qcache_hit_rate | % | MIN |
| | Qcache 使用率 | qcache_use_rate | % | MIN |
| | 多表更新数 | com_update_multi | 个 | SUM |
| | 多表删除数 | com_delete_multi | 个 | SUM |
| 表 | 临时表的数量 | created_tmp_tables | 个 | SUM |
| | 等待表锁次数 | table_locks_waited | 个 | SUM |
| | 已经打开的表数 | opened_tables | 个 | MAX |
| | 立即释放的表锁数 | table_locks_immediate | 个 | SUM |
| | 表打开缓存命中数 | table_open_cache_hits | 个 | SUM |
| | 表打开缓存未命中数 | table_open_cache_misses | 个 | SUM |
| InnoDB | InnoDB 引擎缓存命中率 | innodb_cache_hit_rate | % | MIN |
| | InnoDB 引擎缓存使用率 | innodb_cache_use_rate | % | MIN |
| | 读磁盘数量 | innodb_os_file_reads | 个 | MAX |
| | 写磁盘数量 | innodb_os_file_writes | 个 | MAX |
| | InnoDB_fsyncs 数 | innodb_os_fsyncs | 个 | MAX |
| | 当前 InnoDB 打开表的数量 | innodb_num_open_files | 个 | MAX |
| | InnoDB 读取量 | innodb_data_read | Byte | SUM |
| | InnoDB 总读取量 | innodb_data_reads | 个 | SUM |
| | InnoDB 总写入量 | innodb_data_writes | 个 | SUM |
| | InnoDB 写入量 | innodb_data_written | Byte | SUM |
| | InnoDB 行删除量 | innodb_rows_deleted | 个 | SUM |
| | InnoDB 行插入量 | innodb_rows_inserted | 个 | SUM |
| | InnoDB 行更新量 | innodb_rows_updated | 个 | SUM |
| | InnoDB 行读取量 | innodb_rows_read | 个 | SUM |
| | InnoDB 平均获取行锁时间 | innodb_row_lock_time_avg | 毫秒 | MAX |
| | InnoDB 等待行锁次数 | innodb_row_lock_waits | 个 | SUM |
| | InnoDB 脏页数 | innodb_buffer_pool_pages_dirty | 个 | MAX |
| | InnoDB 挂起写入数 | innodb_data_pending_writes | 个 | MAX |
| | InnoDB 挂起读取数 | innodb_data_pending_reads | 个 | MAX |
| | InnoDB 日志等待写入次数 | innodb_log_waits | 个 | SUM |
| | InnoDB 日志物理写入次数 | innodb_log_writes | 个 | SUM |
| | InnoDB 日志物理写请求次数 | innodb_log_write_requests | 个 | SUM |
| Tmp | 临时表数量 | created_tmp_disk_tables | 个 | SUM |
| | 临时文件数量 | created_tmp_files | 个 | SUM |
| Handler | 读下一行请求数 | handler_read_rnd_next | 个 | SUM |
| | 内部回滚数 | handler_rollback | 个 | SUM |
| | 内部提交数 | handler_commit | 个 | SUM |
| Buffer | InnoDB 空页数 | innodb_buffer_pool_pages_free | 个 | MAX |
| | InnoDB 总页数 | innodb_buffer_pool_pages_total | 个 | MAX |
| | InnoDB 逻辑读 | innodb_buffer_pool_read_requests | 个 | SUM |
| | InnoDB 物理读 | innodb_buffer_pool_reads | 个 | SUM |
| | InnoDB 缓冲池写入次数 | innodb_buffer_pool_write_request | 个 | SUM |
| 并行查询 | 当前并行查询线程数 | txsql_parallel_threads_currently_used | 个 | MAX |
| | 并行查询错误数 | txsql_parallel_stmt_error | 个 | SUM |
| | 已执行并行查询数 | txsql_parallel_stmt_executed | 个 | SUM |
| | 回滚串行查询数 | txsql_parallel_stmt_fallback | 个 | SUM |
| 列存索引 | 列存索引执行语句数 | innodb_csi_select_pushdown | 个 | SUM |
| | 列存索引回退语句数 | innodb_csi_select_fallback | 个 | SUM |
| | 列存索引同步延时 | innodb_csi_lag_seconds | 秒 | MAX |
| | 列索引存储使用量 | innodb_csi_disk_usage | GB | MAX |
| | 创建 CSI 失败数 | innodb_csi_create_failed | 个 | SUM |
| 其他 | 打开文件总数 | open_files | 个 | MAX |
部署监控 | | 复制状态 | replication_status | 0-Yes,1-No | 有1取1 |
| | 复制延迟 | replication_delay | 毫秒 | MAX |
| | 复制落后的 lsn 距离 | replication_delay_distance | Bytes | MAX |
数据库代理节点维度监控指标
性能监控指标分析实践
您可以通过设置告警策略,对相关性能指标进行监控分析,以下举例介绍几个指标来分析监控数据。
CPU 使用率:CPU 使用率是指数据库服务器中 CPU 在运行过程中的使用率。如果 CPU 负载高,会导致数据库系统响应变慢、查询延时等问题,因此,可以根据实际业务情况对此监控指标设置阈值告警,一般来说,CPU 使用率超过90%,就需要开始关注数据库需要处理的请求量是否过高、查询性能是否优化等问题,并及时进行调整。如果 CPU 消耗的值符合应用程序或数据库的目标(如吞吐量或并发性)并且是预期的,则这个值是合适的。
存储使用量:如果使用的空间始终等于或大于总磁盘空间的85%,则需要调查存储空间的消耗,查看是否可以从实例中删除数据或将数据存档到其他系统以释放空间,如果存储数据量太大,磁盘即将写满,可以通过扩容缓解磁盘空间不足的问题。
客户端发送和接收流量:通过观察监控指标-资源监控-发送或接收客户端流量数据的波动情况,进而检查是业务峰值带来的问题还是数据库的问题,从而进行业务优化或者数据库配置调整。
最大连接数:max_connections 是 TDSQL-C MySQL 版的参数之一,用于指定数据库同时允许的最大连接数。当数据库进程打开一个新的连接时,它会去查询当前已经连接的客户端数量,如果数量已经达到 max_connections 的设定值,则无法建立新的连接。如果您通过监控看到大量连接,并且实例性能和响应时间也有所下降,请考虑约束数据库最大连接数。如果 max_connections 的值设置过高,可能会导致系统出现内存不足、线程崩溃等问题,因此应仔细评估应用程序的需要,进行最佳设置,常用的设置值在200~500之间,也请结合实际应用程序和数据库的连接情况来调整最大连接数。
当性能指标超出设定的告警阈值时,可能需要更改相关参数以优化数据库,帮助提高数据库的性能和可用性。