systemtap mysql_使用systemtap调试工具分析MySQL的性能
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 mysql_使用systemtap调试工具分析MySQL的性能相关推荐
- mysql 调试分析利器_使用systemtap调试工具分析MySQL的性能
[工具] SystemTap是 Linux 下的动态跟踪工具,可以方便的监控.跟踪运行中的程序或Linux内核操作,我们通过写SystemTap脚本(与 C语言 类似),编译为内核模块,然后加载到内核 ...
- systemtap mysql_用Systemtap探索MySQL
Systemtap MySQL 支持 Dtrace probe, 即提供了一些Dtrace用的有用的观测点(probe). Systemtap同样也可以利用这些观测点, 可以作为一种低成本的观测MyS ...
- mysql join性能_Mysql Join语法解析与性能分析
一.Join语法概述 join 用于多表中字段之间的联系,语法如下: ... FROM table1 INNER|LEFT|RIGHT JOIN table2 ON conditiona table1 ...
- anemometer mysql_使用Anemometer分析MySQL慢查询记录
数据库管理员一般是用percona的toolkit工具来分析MySQL慢查询记录,但是不够直观. 下面介绍一款比较直观的工具来统计分析MySQL慢查询记录anemometer. 在使用之前需要安装pe ...
- Mysql 索引优化分析_如何优化MySQL的性能?从索引方面优化案例分析
今天我们来讲讲如何优化MySQL的性能,主要从索引方面优化. 建表 //建表 CREATETABLEIFNOTEXISTSstaffs( idINTPRIMARYKEYAUTO_INCREMENT, ...
- mongo mysql 聚合性能_Mongodb和Mysql的性能分析
服务器配置: CPU: 1核 内存: 2048 MB (I/O优化) 网络带宽:1M centos 7.0 MongoDB 3.2 Mysql 5.6 服务器表数据量1184545条 M ...
- mysql 5.7 缺点_MySQL · 特性分析 · MySQL 5.7 外部XA Replication实现及缺陷分析
MySQL 5.7 外部XA Replication实现及缺陷分析 MySQL 5.7增强了分布式事务的支持,解决了之前客户端退出或者服务器关闭后prepared的事务回滚和服务器宕机后binlog丢 ...
- mysql 索引分析工具_Mysql:性能分析以及Explain工具的使用
---恢复内容开始--- 1.介绍 Explain工具是用来分析sql语句性能的工具,他会显示出Mysql内部解析语句的状况 使用方法: explain+sql语句 例如 2.字段分析 一.ID字段 ...
- mysql not exists无效_分析MySQL中哪些情况下数据库索引会失效
要想分析MySQL查询语句中的相关信息,如是全表查询还是部分查询,就要用到explain. 一.explain 用法:explain +查询语句. id:查询语句的序列号,上面图片中只有一个selec ...
最新文章
- php读取txt并写入数据库,php读取txt文件组成SQL并插入数据库的方法
- #20145238荆玉茗《网络对抗》-逆向及Bof进阶实践
- Redis持久化存储详解(一)
- 【IDEA】怎么把idea的目录结构,以文本形式输出?
- 域名发散--前端优化(三)
- r语言 精美rda图_R语言动态图可视化:如何、创建具有精美动画的图
- linux远程登录失败锁定,登录失败锁定策略配置登录超时策略禁用root远程登录脚本...
- mybatis---知识点复习
- Android 中 View的类关系图
- Debian9.5安装VNC并且配置vnc开机自启动
- 倍福 (BeckHOFF)PLC 使用随笔小记1
- Redis 保证数据一致性方案解析
- zabbix日志监控
- h5将数字翻译为大写汉字_js 将阿拉伯数字翻译成中文的大写数字
- U盘系统盘制作与系统安装(详细图解)
- C#子窗体控制父窗体dgv刷新
- 用户故事地图编写方法
- jquery国际化 i18n.js
- 《ZigBee实战演练》
- 【存储】GPFS简介及搭建