Skip to content

TDSQL 监控指标详细说明

资源利用率指标

1. CPU 指标

CPU 使用率

指标名称:CPU使用率 指标描述:TDSQL实例使用的CPU资源占总CPU资源的百分比 计算公式:(CPU使用时间 / 总时间) × 100% 取值范围:0% - 100% 正常范围:0% - 70% 告警阈值:持续超过80% 采集频率:1秒 监控粒度:实例级别 说明:该指标反映了TDSQL实例的CPU负载情况,是判断实例是否过载的重要指标。如果CPU使用率持续过高,可能导致查询响应时间变长,影响业务体验。

系统CPU使用率

指标名称:系统CPU使用率 指标描述:操作系统级别的CPU使用率 计算公式:(系统CPU使用时间 / 总时间) × 100% 取值范围:0% - 100% 正常范围:0% - 70% 告警阈值:持续超过90% 采集频率:1秒 监控粒度:服务器级别 说明:该指标反映了服务器的整体CPU负载情况,包括TDSQL实例和其他进程的CPU使用。如果系统CPU使用率过高,可能影响TDSQL实例的性能。

等待CPU时间

指标名称:等待CPU时间 指标描述:进程等待CPU的时间占总时间的百分比 计算公式:(等待CPU时间 / 总时间) × 100% 取值范围:0% - 100% 正常范围:0% - 10% 告警阈值:持续超过20% 采集频率:1秒 监控粒度:实例级别 说明:该指标反映了进程等待CPU的情况,如果等待时间过长,说明CPU资源不足,需要升级实例规格或优化查询。

上下文切换次数

指标名称:上下文切换次数 指标描述:每秒发生的上下文切换次数 计算公式:每秒上下文切换的次数 取值范围:0 - 无限 正常范围:0 - 10,000 告警阈值:超过50,000 采集频率:1秒 监控粒度:服务器级别 说明:上下文切换是指CPU从一个进程切换到另一个进程的过程,过多的上下文切换会导致CPU资源浪费,影响系统性能。

2. 内存指标

内存使用率

指标名称:内存使用率 指标描述:TDSQL实例使用的内存占总内存的百分比 计算公式:(内存使用量 / 总内存) × 100% 取值范围:0% - 100% 正常范围:0% - 80% 告警阈值:持续超过90% 采集频率:1秒 监控粒度:实例级别 说明:该指标反映了TDSQL实例的内存使用情况,如果内存使用率持续过高,可能导致频繁的内存交换,影响性能。

系统内存使用率

指标名称:系统内存使用率 指标描述:操作系统级别的内存使用率 计算公式:(系统内存使用量 / 总内存) × 100% 取值范围:0% - 100% 正常范围:0% - 80% 告警阈值:持续超过95% 采集频率:1秒 监控粒度:服务器级别 说明:该指标反映了服务器的整体内存使用情况,包括TDSQL实例和其他进程的内存使用。如果系统内存使用率过高,可能导致系统性能下降。

缓存命中率

指标名称:缓存命中率 指标描述:数据库缓存的命中率 计算公式:(缓存命中次数 / 总访问次数) × 100% 取值范围:0% - 100% 正常范围:> 95% 告警阈值:< 90% 采集频率:1秒 监控粒度:实例级别 说明:缓存命中率反映了数据库缓存的有效性,命中率越高,说明缓存效果越好,查询性能越高。

交换空间使用率

指标名称:交换空间使用率 指标描述:交换空间的使用率 计算公式:(交换空间使用量 / 总交换空间) × 100% 取值范围:0% - 100% 正常范围:0% - 5% 告警阈值:持续超过10% 采集频率:1秒 监控粒度:服务器级别 说明:交换空间使用率反映了系统内存不足时的情况,如果交换空间使用率过高,说明系统内存不足,需要增加内存或优化内存使用。

3. 磁盘指标

磁盘使用率

指标名称:磁盘使用率 指标描述:数据库磁盘空间的使用率 计算公式:(已使用磁盘空间 / 总磁盘空间) × 100% 取值范围:0% - 100% 正常范围:0% - 70% 告警阈值:持续超过85% 采集频率:1分钟 监控粒度:实例级别 说明:该指标反映了数据库磁盘空间的使用情况,如果磁盘使用率持续过高,需要及时清理数据或扩容磁盘。

磁盘IOPS

指标名称:磁盘IOPS 指标描述:每秒磁盘IO操作次数 计算公式:每秒读操作次数 + 每秒写操作次数 取值范围:0 - 无限 正常范围:取决于磁盘类型 告警阈值:接近磁盘最大IOPS 采集频率:1秒 监控粒度:实例级别 说明:IOPS(Input/Output Operations Per Second)是衡量磁盘性能的重要指标,不同类型的磁盘(如SATA、SAS、SSD)具有不同的最大IOPS。

磁盘吞吐量

指标名称:磁盘吞吐量 指标描述:每秒磁盘读写的数据量 计算公式:每秒读数据量 + 每秒写数据量 取值范围:0 - 无限 正常范围:取决于磁盘类型 告警阈值:接近磁盘最大吞吐量 采集频率:1秒 监控粒度:实例级别 说明:磁盘吞吐量反映了磁盘的数据传输能力,通常以MB/s为单位。

磁盘读写延迟

指标名称:磁盘读写延迟 指标描述:磁盘IO操作的延迟时间 计算公式:(读延迟 + 写延迟) / 2 取值范围:0 - 无限(毫秒) 正常范围:< 10ms 告警阈值:持续超过50ms 采集频率:1秒 监控粒度:实例级别 说明:磁盘读写延迟反映了磁盘的响应速度,延迟越低,磁盘性能越好。

4. 网络指标

网络吞吐量

指标名称:网络吞吐量 指标描述:每秒网络传输的数据量 计算公式:每秒接收数据量 + 每秒发送数据量 取值范围:0 - 无限 正常范围:取决于网络带宽 告警阈值:接近网络最大带宽 采集频率:1秒 监控粒度:实例级别 说明:网络吞吐量反映了网络的数据传输能力,通常以MB/s为单位。

网络连接数

指标名称:网络连接数 指标描述:当前活跃的网络连接数 计算公式:当前活跃的网络连接数 取值范围:0 - max_connections 正常范围:0 - max_connections的80% 告警阈值:超过max_connections的90% 采集频率:1秒 监控粒度:实例级别 说明:网络连接数反映了数据库的并发连接情况,如果连接数过高,需要调整max_connections参数或优化应用程序。

网络延迟

指标名称:网络延迟 指标描述:网络传输的延迟时间 计算公式:网络数据包的往返时间 取值范围:0 - 无限(毫秒) 正常范围:< 1ms 告警阈值:持续超过10ms 采集频率:1秒 监控粒度:实例级别 说明:网络延迟反映了网络的响应速度,延迟越低,网络性能越好。

数据库性能指标

1. 查询性能指标

QPS (每秒查询数)

指标名称:QPS (每秒查询数) 指标描述:每秒处理的查询请求数 计算公式:每秒执行的SELECT语句数量 取值范围:0 - 无限 正常范围:取决于实例规格 告警阈值:接近实例最大QPS 采集频率:1秒 监控粒度:实例级别 说明:QPS是衡量数据库查询性能的重要指标,反映了数据库的查询处理能力。

TPS (每秒事务数)

指标名称:TPS (每秒事务数) 指标描述:每秒处理的事务数 计算公式:(每秒提交事务数 + 每秒回滚事务数) 取值范围:0 - 无限 正常范围:取决于实例规格 告警阈值:接近实例最大TPS 采集频率:1秒 监控粒度:实例级别 说明:TPS是衡量数据库事务处理能力的重要指标,反映了数据库的并发处理能力。

慢查询数

指标名称:慢查询数 指标描述:每秒执行时间超过阈值的查询数量 计算公式:每秒慢查询的数量 取值范围:0 - 无限 正常范围:0 - 10 告警阈值:持续超过50 采集频率:1秒 监控粒度:实例级别 说明:慢查询是指执行时间超过long_query_time阈值的查询,过多的慢查询会导致数据库性能下降。

查询平均响应时间

指标名称:查询平均响应时间 指标描述:查询的平均响应时间 计算公式:总查询时间 / 查询次数 取值范围:0 - 无限(毫秒) 正常范围:< 100ms 告警阈值:持续超过500ms 采集频率:1秒 监控粒度:实例级别 说明:查询平均响应时间反映了数据库查询的快慢,响应时间越短,数据库性能越好。

锁等待时间

指标名称:锁等待时间 指标描述:事务等待锁的平均时间 计算公式:总锁等待时间 / 锁等待次数 取值范围:0 - 无限(毫秒) 正常范围:< 100ms 告警阈值:持续超过500ms 采集频率:1秒 监控粒度:实例级别 说明:锁等待时间反映了事务等待锁的情况,如果等待时间过长,说明存在锁竞争,需要优化查询或调整事务隔离级别。

2. 连接指标

当前连接数

指标名称:当前连接数 指标描述:当前活跃的数据库连接数 计算公式:当前活跃的连接数 取值范围:0 - max_connections 正常范围:0 - max_connections的80% 告警阈值:超过max_connections的90% 采集频率:1秒 监控粒度:实例级别 说明:当前连接数反映了数据库的并发连接情况,如果连接数过高,需要调整max_connections参数或优化应用程序。

连接使用率

指标名称:连接使用率 指标描述:当前连接数占最大连接数的百分比 计算公式:(当前连接数 / max_connections) × 100% 取值范围:0% - 100% 正常范围:0% - 80% 告警阈值:持续超过90% 采集频率:1秒 监控粒度:实例级别 说明:连接使用率反映了数据库连接资源的使用情况,如果使用率过高,需要调整max_connections参数或优化应用程序。

连接错误数

指标名称:连接错误数 指标描述:每秒发生的连接错误数量 计算公式:每秒连接错误的数量 取值范围:0 - 无限 正常范围:0 - 5 告警阈值:持续超过20 采集频率:1秒 监控粒度:实例级别 说明:连接错误数反映了客户端连接数据库时发生的错误情况,常见的连接错误包括密码错误、权限不足、连接数超限等。

3. 缓存指标

InnoDB缓冲池命中率

指标名称:InnoDB缓冲池命中率 指标描述:InnoDB缓冲池的命中率 计算公式:(1 - (物理读次数 / 逻辑读次数)) × 100% 取值范围:0% - 100% 正常范围:> 95% 告警阈值:< 90% 采集频率:1秒 监控粒度:实例级别 说明:InnoDB缓冲池命中率反映了InnoDB缓冲池的使用效率,命中率越高,说明缓冲池配置越合理。

查询缓存命中率

指标名称:查询缓存命中率 指标描述:查询缓存的命中率 计算公式:(查询缓存命中次数 / (查询缓存命中次数 + 查询缓存未命中次数)) × 100% 取值范围:0% - 100% 正常范围:取决于业务场景 告警阈值:< 50%(如果启用查询缓存) 采集频率:1秒 监控粒度:实例级别 说明:查询缓存命中率反映了查询缓存的使用效率,在高并发写入场景下,查询缓存可能导致性能下降。

索引缓存命中率

指标名称:索引缓存命中率 指标描述:索引缓存的命中率 计算公式:(1 - (索引物理读次数 / 索引逻辑读次数)) × 100% 取值范围:0% - 100% 正常范围:> 95% 告警阈值:< 90% 采集频率:1秒 监控粒度:实例级别 说明:索引缓存命中率反映了索引缓存的使用效率,命中率越高,说明索引缓存配置越合理。

4. 事务指标

事务提交成功率

指标名称:事务提交成功率 指标描述:事务提交成功的比例 计算公式:(成功提交的事务数 / 总事务数) × 100% 取值范围:0% - 100% 正常范围:> 99.9% 告警阈值:< 99% 采集频率:1秒 监控粒度:实例级别 说明:事务提交成功率反映了数据库事务处理的可靠性,如果成功率过低,说明存在大量事务回滚,需要分析原因。

长事务数

指标名称:长事务数 指标描述:运行时间超过阈值的事务数量 计算公式:运行时间超过阈值的事务数量 取值范围:0 - 无限 正常范围:0 - 5 告警阈值:持续超过20 采集频率:1秒 监控粒度:实例级别 说明:长事务是指运行时间超过阈值(如60秒)的事务,长事务会占用数据库资源,影响并发性能,还可能导致锁争用。

死锁数量

指标名称:死锁数量 指标描述:每秒发生的死锁数量 计算公式:每秒死锁的数量 取值范围:0 - 无限 正常范围:0 - 1 告警阈值:持续超过5 采集频率:1秒 监控粒度:实例级别 说明:死锁是指两个或多个事务互相等待对方释放锁的情况,死锁会导致事务回滚,影响数据库性能。

复制指标

复制延迟

指标名称:复制延迟 指标描述:从库落后于主库的时间 计算公式:主库当前时间 - 从库应用二进制日志的时间 取值范围:0 - 无限(秒) 正常范围:< 1s 告警阈值:持续超过30s 采集频率:1秒 监控粒度:实例级别 说明:复制延迟反映了主从复制的同步情况,如果延迟过大,会影响从库的可用性和数据一致性。

复制状态

指标名称:复制状态 指标描述:复制线程的运行状态 计算公式:IO线程状态 + SQL线程状态 取值范围:Running / Not Running 正常范围:Running 告警阈值:Not Running 采集频率:1秒 监控粒度:实例级别 说明:复制状态反映了主从复制的运行情况,如果复制状态异常,需要及时排查原因。

二进制日志生成速率

指标名称:二进制日志生成速率 指标描述:主库每秒生成的二进制日志大小 计算公式:每秒生成的二进制日志大小 取值范围:0 - 无限(MB/s) 正常范围:取决于写入量 告警阈值:异常增长 采集频率:1秒 监控粒度:实例级别 说明:二进制日志生成速率反映了主库的写入量,如果生成速率异常增长,可能是因为写入量突然增加或存在大事务。

中继日志应用速率

指标名称:中继日志应用速率 指标描述:从库每秒应用的中继日志大小 计算公式:每秒应用的中继日志大小 取值范围:0 - 无限(MB/s) 正常范围:取决于复制量 告警阈值:低于主库生成速率 采集频率:1秒 监控粒度:实例级别 说明:中继日志应用速率反映了从库应用二进制日志的速度,如果应用速率低于主库生成速率,会导致复制延迟增加。

监控指标的采集和分析

1. 指标采集方法

  • TDSQL管理控制台:提供实时监控和历史趋势查看
  • 命令行工具:使用SHOW STATUS、SHOW VARIABLES等命令
  • Performance Schema:提供详细的性能数据
  • 第三方监控工具:如Prometheus、Grafana、Zabbix等

2. 指标分析方法

  • 基线分析:建立正常业务负载下的指标基线
  • 趋势分析:分析指标的历史趋势,预测性能变化
  • 关联分析:关联多个指标,找出性能问题的根本原因
  • 异常检测:设置告警阈值,及时发现异常情况

3. 监控最佳实践

  • 选择合适的监控粒度
  • 监控关键指标
  • 设置合理的告警阈值
  • 建立完善的告警处理流程
  • 结合日志分析

常见问题(FAQ)

Q1: 如何查看TDSQL的监控指标?

A1: 可以通过以下方式查看TDSQL的监控指标:

  • 登录TDSQL管理控制台,查看监控页面
  • 使用SHOW STATUS命令查看实时指标
  • 使用Performance Schema查看详细性能数据
  • 集成第三方监控工具,如Prometheus + Grafana

Q2: 监控指标的采集频率如何设置?

A2: 监控指标的采集频率建议:

  • 实时监控:1秒或5秒
  • 短期历史:1分钟
  • 长期历史:5分钟或15分钟

Q3: 如何设置合理的告警阈值?

A3: 设置合理告警阈值的方法:

  • 基于历史数据建立基线
  • 考虑业务高峰期和低谷期的差异
  • 参考行业最佳实践
  • 定期调整和优化阈值

Q4: 如何分析监控指标?

A4: 分析监控指标的步骤:

  1. 查看指标的实时数据和历史趋势
  2. 与基线进行比较,识别异常情况
  3. 关联多个相关指标,找出问题根源
  4. 制定优化方案,实施并验证效果

Q5: 哪些指标是TDSQL监控的核心指标?

A5: TDSQL监控的核心指标包括:

  • CPU使用率
  • 内存使用率
  • 磁盘IOPS和吞吐量
  • QPS/TPS
  • 慢查询数
  • 连接数
  • 复制延迟

Q6: 如何监控TDSQL的慢查询?

A6: 监控TDSQL慢查询的方法:

  • 启用慢查询日志,设置合适的long_query_time阈值
  • 使用SHOW GLOBAL STATUS LIKE 'Slow_queries'查看慢查询数量
  • 通过Performance Schema分析慢查询
  • 使用第三方工具可视化慢查询指标

Q7: 如何监控主从复制性能?

A7: 监控主从复制性能的指标:

  • 复制延迟时间
  • 复制线程状态
  • 主库二进制日志生成速率
  • 从库中继日志应用速率
  • 主从库网络延迟

Q8: 如何优化InnoDB缓冲池命中率?

A8: 优化InnoDB缓冲池命中率的方法:

  • 增加innodb_buffer_pool_size参数
  • 优化索引设计,减少全表扫描
  • 优化查询语句,减少不必要的数据访问
  • 定期清理无用数据,减少数据量

Q9: 如何处理高CPU使用率?

A9: 处理高CPU使用率的方法:

  • 分析慢查询日志,优化慢查询
  • 优化索引设计
  • 调整数据库参数
  • 升级实例规格
  • 考虑读写分离

Q10: 如何处理高内存使用率?

A10: 处理高内存使用率的方法:

  • 调整innodb_buffer_pool_size参数
  • 清理无用的连接和会话
  • 优化查询语句,减少内存使用
  • 升级实例规格