• Mysql调优(一)——性能监控


    一、大纲图

    大纲图
    【Mysql调优.xmind】

    二、Mysql调优简写

    2.1 性能监控

    2.1.1 使用show profile查询剖析工具,可以指定具体的type

    此工具默认是禁用的,可以通过服务器变量在会话级别动态的修改:

    set profiling=1;
    
    • 1

    当设置完成之后,在服务器上执行的所有语句,都会测量其耗费的时间和其他一些查询执行状态变更相关的数据。

    select * from emp;
    
    • 1

    在mysql的命令行模式下只能显示两位小数的时间,可以使用如下命令查看具体的执行时间:

    show profiles;
    
    • 1

    执行如下命令可以查看详细的每个步骤的时间:

    show profile for query 1;
    
    • 1
    • type

      • all:显示所有性能信息

        show profile all for query n
        
        • 1
      • block io:显示块io操作的次数

        show  profile block io for query n
        
        • 1
      • context switches:显示上下文切换次数,被动和主动

        show profile context switches for query n
        
        • 1
      • cpu:显示用户cpu时间、系统cpu时间

        show profile cpu for query n
        
        • 1
      • IPC:显示发送和接受的消息数量

        show profile ipc for query n
        
        • 1
      • Memory:暂未实现

      • page faults:显示页错误数量

        show profile page faults for query n
        
        • 1
      • source:显示源码中的函数名称与位置

        show profile source for query n
        
        • 1
      • swaps:显示swap的次数

        show profile swaps for query n
        
        • 1

    show profile 5.x版本可用,高版本已经被performance schema替代。

    2.1.2 使用performance schema来更加容易的监控mysql(后续补充)

    • MYSQL performance schema详解.md(附件)

    2.1.3 使用show processlist查看连接的线程个数,来观察是否有大量线程处于不正常的状态或者其他不正常的特征

    • 属性说明

      • id表示session id

      • user表示操作的用户

      • host表示操作的主机

      • db表示操作的数据库

      • command表示当前状态

        • sleep:线程正在等待客户端发送新的请求
        • query:线程正在执行查询或正在将结果发送给客户端
        • locked:在mysql的服务层,该线程正在等待表锁
        • analyzing and statistics:线程正在收集存储引擎的统计信息,并生成查询的执行计划
        • Copying to tmp table:线程正在执行查询,并且将其结果集都复制到一个临时表中
        • sorting result:线程正在对结果集进行排序
        • sending data:线程可能在多个状态之间传送数据,或者在生成结果集或者向客户端返回数据
      • info表示详细的sql语句

      • time表示相应命令执行时间

      • state表示命令执行状态

  • 相关阅读:
    window的addEventListener和removeEventListener方法的使用踩雷
    路由router
    【MySql】mysql之进阶查询语句
    2022.8.16 模拟赛
    Operator 开发实践 四 (WebHook)
    vue高德地图JS API 实现海量点标记展示
    AM@两种余项型泰勒公式的对比和总结@常用函数的麦克劳林公式
    如何做好建筑翻译呢
    windows查看连接过wifi的密码
    【LeetCode】94. 二叉树的中序遍历
  • 原文地址:https://blog.csdn.net/moneywenxue/article/details/128195287