MySQL 监控性能瓶颈排查

Posted yujiaershao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 监控性能瓶颈排查相关的知识,希望对你有一定的参考价值。

 

 

监控的作用

  业务/数据库服务是否可用

    是否可以对外提供服务

    进程在允许,但没监听网络,或者授权不正确,或者网络出故障

    因此不能只监控进程启动与否,是否监听网络

    最好能模拟业务逻辑进行监控

    这个业务逻辑除了能完成可用性监控外,还可以进行数据可靠性监控

  数据可靠性

    业务数据是否可靠

    服务可用,不代表数据就是正确的

    有可能误操作删除数据,或者其他意外原因丢失数据

    或者主从复制延迟,导致在从服务器无法读取到最新数据

    通过模拟随机业务逻辑来验证数据可靠性

  服务器&mysql实例出现高负债

    服务可用,但响应很慢,其实等于不可用

    响应很慢时,用户不耐烦一直刷新,更容易引起风暴

    需要及时关注整个系统响应时长,每秒处理事务数

  监控可重点关注当前可用性和历史数据趋势

  可用性告警

  历史趋势

    了解线上计算资源使用情况  

    作为计算资源扩容/收缩的参考

    作为优化工作的成果展示记录

  通过事务实时性能数据变化感知业务的变化

  数据库性能变化趋势判断服务器资源是否足够

 

监控之关键指标

  常规运行情况汇总

  CPU: %user, %sys, %idel, %iowait

  内存: free,cached, swap, 是否有内存泄漏和OOM

  I/O: iops,吞吐,延时,利用率(%util)

  网卡: 吞吐(特别关注小包收发频率)

 

系统监控

  常规工具

    top, free, ps ,df

    sysstat (sar,mpstat, iostat) \ dstat \ iotop

      sar -u   cpu状态

      sar -d  disk状态

      iostat -dkx / dmx  

      mpstat 查看cpu中断不均衡  mpstat -I SUM -P ALL 1 10 (如果中断不均衡说明硬盘网卡等默认绑定到某一个cpu,改成可以使用所有cpu)

    netstat, ethstatus, arping

  其他工具

    perf

    pstack

  

 

以上是关于MySQL 监控性能瓶颈排查的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统瓶颈排查

java性能问题排查提效脚本工具

性能测试分析实践分享!

MySQL 的实时性能监控利器

MySQL 的实时性能监控利器

Clickhouse 性能瓶颈排查 IO过高