Skip to content

TDSQL 性能监控指标

性能监控指标分类

1. 资源利用率指标

CPU 指标

指标名称描述正常范围告警阈值
CPU 使用率数据库实例的CPU使用率0% - 70%持续超过80%
系统CPU使用率操作系统级别的CPU使用率0% - 70%持续超过90%
等待CPU时间进程等待CPU的时间0% - 10%持续超过20%
上下文切换次数每秒上下文切换的次数0 - 10,000超过50,000

内存指标

指标名称描述正常范围告警阈值
内存使用率数据库实例的内存使用率0% - 80%持续超过90%
系统内存使用率操作系统级别的内存使用率0% - 80%持续超过95%
缓存命中率数据库缓存的命中率> 95%< 90%
交换空间使用率交换空间的使用率0% - 5%持续超过10%

磁盘指标

指标名称描述正常范围告警阈值
磁盘使用率数据库磁盘空间使用率0% - 70%持续超过85%
磁盘IOPS每秒磁盘IO操作次数取决于磁盘类型接近磁盘最大IOPS
磁盘吞吐量每秒磁盘读写数据量取决于磁盘类型接近磁盘最大吞吐量
磁盘读写延迟磁盘IO操作的延迟时间< 10ms持续超过50ms

网络指标

指标名称描述正常范围告警阈值
网络吞吐量每秒网络传输的数据量取决于网络带宽接近网络最大带宽
网络连接数当前活跃的网络连接数0 - max_connections的80%超过max_connections的90%
网络延迟网络传输的延迟时间< 1ms持续超过10ms

2. 数据库性能指标

查询性能指标

指标名称描述正常范围告警阈值
QPS (每秒查询数)每秒处理的查询请求数取决于实例规格接近实例最大QPS
TPS (每秒事务数)每秒处理的事务数取决于实例规格接近实例最大TPS
慢查询数每秒慢查询的数量0 - 10持续超过50
查询平均响应时间查询的平均响应时间< 100ms持续超过500ms
锁等待时间事务等待锁的时间< 100ms持续超过500ms

连接指标

指标名称描述正常范围告警阈值
当前连接数当前活跃的数据库连接数0 - max_connections的80%超过max_connections的90%
连接使用率连接数占最大连接数的比例0% - 80%持续超过90%
连接错误数每秒连接错误的数量0 - 5持续超过20

缓存指标

指标名称描述正常范围告警阈值
InnoDB缓冲池命中率InnoDB缓冲池的命中率> 95%< 90%
查询缓存命中率查询缓存的命中率取决于业务场景< 50% (如果启用查询缓存)
索引缓存命中率索引缓存的命中率> 95%< 90%

事务指标

指标名称描述正常范围告警阈值
事务提交成功率事务提交成功的比例> 99.9%< 99%
长事务数运行时间超过阈值的事务数0 - 5持续超过20
死锁数量每秒死锁的数量0 - 1持续超过5

3. 复制指标

指标名称描述正常范围告警阈值
复制延迟从库落后于主库的时间< 1s持续超过30s
复制状态复制线程的运行状态RunningNot Running
二进制日志生成速率主库每秒生成的二进制日志大小取决于写入量异常增长
中继日志应用速率从库每秒应用的中继日志大小取决于复制量低于主库生成速率

性能监控指标的采集方法

1. TDSQL管理控制台

TDSQL管理控制台提供了丰富的监控指标可视化界面,可以直接查看各种性能指标的实时数据和历史趋势。

2. 命令行工具

SHOW STATUS命令

sql
SHOW GLOBAL STATUS LIKE 'Threads_connected';
SHOW GLOBAL STATUS LIKE 'Questions';
SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool_read_hit_rate';

SHOW VARIABLES命令

sql
SHOW GLOBAL VARIABLES LIKE 'max_connections';
SHOW GLOBAL VARIABLES LIKE 'innodb_buffer_pool_size';

Performance Schema

sql
SELECT * FROM performance_schema.events_statements_summary_by_digest ORDER BY sum_timer_wait DESC LIMIT 10;
SELECT * FROM performance_schema.file_summary_by_instance ORDER BY sum_timer_wait DESC LIMIT 10;

3. 第三方监控工具

  • Prometheus + Grafana:开源监控解决方案,支持通过Exporter采集TDSQL指标
  • Zabbix:企业级监控系统,支持监控TDSQL的各种指标
  • Nagios:传统监控工具,支持通过插件监控TDSQL

性能监控指标的分析方法

1. 基线分析

建立正常业务负载下的性能指标基线,当指标偏离基线时及时告警。

2. 趋势分析

分析性能指标的历史趋势,识别长期性能变化,预测可能的性能问题。

3. 关联分析

关联多个相关指标,找出性能问题的根本原因。例如:

  • CPU使用率高 + 慢查询数多 → 可能存在慢查询
  • 磁盘IOPS高 + 缓存命中率低 → 可能需要增加内存
  • 连接数高 + 连接错误多 → 可能需要调整max_connections参数

4. 异常检测

设置合理的告警阈值,当指标超过阈值时触发告警,及时发现性能问题。

性能监控最佳实践

1. 选择合适的监控粒度

  • 实时监控:1秒或5秒粒度,用于实时告警
  • 短期历史:1分钟粒度,用于近期问题分析
  • 长期历史:5分钟或15分钟粒度,用于趋势分析

2. 监控关键指标

根据业务场景选择关键指标进行监控,避免监控过多无关指标。

3. 设置合理的告警阈值

  • 根据基线设置告警阈值
  • 考虑业务高峰期和低谷期的差异
  • 设置多级告警,区分不同严重程度

4. 建立完善的告警处理流程

  • 明确告警的接收人员和处理流程
  • 建立告警升级机制
  • 定期回顾和优化告警规则

5. 结合日志分析

将性能指标与慢查询日志、错误日志结合分析,更准确地定位问题。

常见问题(FAQ)

Q1: 哪些指标是TDSQL性能监控的核心指标?

A1: TDSQL性能监控的核心指标包括:

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

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

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

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

Q3: 如何分析TDSQL的性能瓶颈?

A3: 分析TDSQL性能瓶颈的步骤:

  1. 查看CPU、内存、磁盘、网络等资源指标,确定是否存在资源瓶颈
  2. 查看QPS/TPS、慢查询数等数据库性能指标
  3. 分析慢查询日志,找出执行时间长的SQL
  4. 检查索引使用情况,优化索引设计
  5. 调整数据库参数,优化配置

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

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

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

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

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

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

Q6: 如何优化TDSQL的缓存命中率?

A6: 优化TDSQL缓存命中率的方法:

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

Q7: 如何监控TDSQL的连接数?

A7: 监控TDSQL连接数的方法:

  • 使用SHOW GLOBAL STATUS LIKE 'Threads_connected'查看当前连接数
  • 使用SHOW GLOBAL VARIABLES LIKE 'max_connections'查看最大连接数
  • 设置连接数告警阈值,当接近最大连接数时触发告警
  • 分析连接数增长趋势,及时调整max_connections参数

Q8: 如何监控TDSQL的磁盘性能?

A8: 监控TDSQL磁盘性能的指标:

  • 磁盘使用率
  • 磁盘IOPS
  • 磁盘吞吐量
  • 磁盘读写延迟
  • 磁盘读写队列长度

Q9: 如何监控TDSQL的事务性能?

A9: 监控TDSQL事务性能的指标:

  • TPS (每秒事务数)
  • 事务提交成功率
  • 长事务数
  • 死锁数量
  • 锁等待时间

Q10: 如何建立TDSQL的性能基线?

A10: 建立TDSQL性能基线的步骤:

  1. 收集正常业务负载下的性能指标数据
  2. 分析数据,确定各指标的正常范围
  3. 建立基线文档,记录各指标的正常范围和告警阈值
  4. 定期更新基线,适应业务变化
  5. 基于基线设置告警规则