<legend id="fqCQd"><noscript id="fqCQd"></noscript><object id="fqCQd"></object></legend>
    <legend id="fqCQd"><dfn id="fqCQd"></dfn></legend>
      1. |
        |
        51CTO旗下网站
        |
        |
        移动端

        使用systemtap调试工具分析MySQL的性能

        SystemTap是Linux下的动态跟踪工具,可以方便的监控、跟踪运行中的程序或Linux内核操作,我们通过写SystemTap脚本(与C语言类似),编译为内核模块,然后加载到内核中运行,它带来的性能损耗比较小。

        作者:程序员小新人学习来源:快资讯|2019-10-18 11:35

        【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》

        【工具】

        SystemTap是Linux下的动态跟踪工具,可以方便的监控、跟踪运行中的程序或Linux内核操作,我们通过写SystemTap脚本(与C语言类似),编译为内核模块,然后加载到内核中运行,它带来的性能损耗比较小。

        【两个应用举例】

        一、 分析SQL语句在执行各个阶段的消耗

        比如我们想统计一句SQL在解析阶段的执行时间,可以在mysqld进程的对应parse_sql函数上加探测点,统计函数执行时间。

        脚本如下:

        示例如下,当前QPS约1.6W,包含了SQL执行过程中解析、redo、binlog、undo、网络、IO读、IO写上的消耗,由于涉及的函数较多,这部分后续还需要整理完善。

        也可以用来分析一句SQL的执行性能:

        二、SQL执行时间统计分布

        对于应用来说,主要关心数据库的吞吐量和响应时间,下面从应用负载的角度去衡量,服务器上当前执行SQL语句的性能分布情况。

        下图是1秒聚合的SQL语句的执行时间分布图,表示大部分SQL的执行时间在128us以下:

        【性能开销】

        用sysbench做了简单压测,并发8线程时,运行stap脚本QPS从3.5W降到3.3W,性能损耗约6%;当并发32线程时,运行stap脚本QPS从9W降到7W,性能损耗约22%

        【应用场景】

        Systemtap功能非常强大,可以对mysqld进程下近25000个函数以及kernel下35000个函数自定义脚本进行跟踪统计,可用来分析内存、CPU、IO、网络等各种问题。

        SystemTap的使用可以参考下面的文章:

        1、听阿里云CDN安防技术专家金九讲SystemTap使用技巧

        //yq.aliyun.com/articles/174916?utm_content=m_28902

        2、巧用Systemtap注入延迟模拟IO设备抖动

        http://blog.yufeng.info/archives/2935

        3、MYSQL数据库网卡软中断不平衡问题及解决方案

        【编辑推荐】

        1. 监测数据库的健康和行为:有哪些重要指标?
        2. MySQL中一个双引号错位引发的血案
        3. 填坑利器?Redis如何弥补传统MySQL架构的不足
        4. 从Gartner报告看中国数据库:差距虽在,“狼性”凸显
        5. MySQL误删数据救命指南:开发人员必收藏
        【责任编辑:庞桂玉 TEL:(010)68476606】

        点赞 0
        分享:
        大家都在看
        猜你喜欢

        订阅专栏+更多

        活学活用 Ubuntu Server

        活学活用 Ubuntu Server

        实战直通车
        共35章 | UbuntuServer

        218人订阅学习

        Java EE速成指南

        Java EE速成指南

        掌握Java核心
        共30章 | 51CTO王波

        83人订阅学习

        Mysql DBA修炼之路

        Mysql DBA修炼之路

        MySQL入门到高阶
        共24章 | 武凤涛

        471人订阅学习

        读 书 +更多

        C#和.NET核心技术

        本书重点讲解如何用实用的代码来解决具体的实际问题。本书的内容覆盖面很广,从新的C#范型到Web服务,从反射到安全等都有涉及。系统地介绍...

        订阅51CTO邮刊

        点击这里查看样刊

        订阅51CTO邮刊

        51CTO服务号

        51CTO播客