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

栏目: 数据库 · Mysql · 发布时间: 7年前

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

【工具】

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

【两个应用举例】

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

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

使用systemtap调试 <a href='https://www.codercto.com/tool.html'>工具</a> 分析 <a href='https://www.codercto.com/topics/18746.html'>MySQL</a> 的性能

脚本如下:

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

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

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

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

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

二、SQL执行时间统计分布

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

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

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

【性能开销】

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

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

【应用场景】

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

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

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

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

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

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

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


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

51单片机应用从零开始

51单片机应用从零开始

杨欣、王玉凤、刘湘黔 / 清华大学 / 2008-1 / 39.80元

《51单片机应用与实践丛书•51单片机应用从零开始》在分析初学者认知规律的基础上,结合国内重点大学一线教师的教学经验以及借鉴国外经典教材的写作手法,对51单片机的应用基础知识进行系统而翔实的介绍。读者学习每一章之后,"实例点拨"环节除了可以巩固所学的内容外,还开辟了单片机应用的视野;再加上"器件介绍"环节,又充实了对单片机从基础到应用所需要的知识。8051单片机不仅是国内用得最多的单片机之一,同时......一起来看看 《51单片机应用从零开始》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具