使用systemtap调试工具分析MySQL的性能
【工具】
SystemTap是使用试工Linux下的动态跟踪工具,可以方便的调的性监控、跟踪运行中的具分程序或Linux内核操作,我们通过写SystemTap脚本(与C语言类似),使用试工编译为内核模块,调的性然后加载到内核中运行,具分它带来的使用试工性能损耗比较小。
【两个应用举例】
一、调的性 分析SQL语句在执行各个阶段的具分消耗
比如我们想统计一句SQL在解析阶段的执行时间,可以在mysqld进程的使用试工对应parse_sql函数上加探测点,统计函数执行时间。调的服务器托管性

脚本如下:

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

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

二、SQL执行时间统计分布
对于应用来说,主要关心数据库的吞吐量和响应时间,下面从应用负载的角度去衡量,服务器上当前执行SQL语句的云南idc服务商性能分布情况。
下图是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使用技巧
https://yq.aliyun.com/articles/174916?utm_content=m_28902
2、巧用Systemtap注入延迟模拟IO设备抖动
http://blog.yufeng.info/archives/2935
3、高防服务器MYSQL数据库网卡软中断不平衡问题及解决方案
相关文章
电脑机箱改监控硬盘教程(将你的电脑机箱升级成专业的监控硬盘存储系统)
摘要:随着安全意识的增强,越来越多的人开始关注家庭和办公环境的安全问题。而监控系统成为解决这一问题的有效途径之一。本文将介绍如何通过改装电脑机箱,将其转变成一套功能强大的监控硬盘存储系统...2025-11-05
Eureka是Netflix开源的、用于实现服务注册和发现的服务。Spring Cloud Eureka基于Eureka进行二次封装,增加了更人性化的UI,使用更为方便。但是由于Eureka本身存在较2025-11-05
前缀表达式(波兰表达式)前缀表达式又称波兰表达式,前缀表达式的运算符位于操作符之前,如(3+4)*5-6对应的前缀表达式就是- * + 3 4 5 6前缀表达式的计算机求值从右至左扫描表达式,遇到数字2025-11-05
在众多可用于简化 Node.js 开发的工具中,以下 9 种是最佳选择。我最近在StackOverflow上读到了一项调查,该调查称超过 49% 的开发人员在其项目中使用了 Node.js。这结果对我2025-11-05- 复制代码代码如下:sudo hdparm -B 128 /dev/sda 假如设为254,硬盘温度甚至会攀升到45度,虽然这仍是一个正常的硬盘温度,但对于笔记本用户来说,靠近硬盘处的发热量是很容易察觉2025-11-05
本文转载自微信公众号「UP技术控」,作者conan5566 。转载本文请联系UP技术控公众号。概述动态创建添加控件,可以在一个大容器里一次性放入多个控件。例:根据文本框中输入的数字 给flowLayo2025-11-05

最新评论