mysql eBPF bcc_技术分享 | 如何使用 bcc 工具观测 MySQL 延迟

本文介绍了如何使用BCC工具观测MySQL的查询延迟,包括dbstat和dbslower两个工具的使用方法,帮助进行数据库性能分析。BCC是一个基于eBPF的工具集合,简化了对Linux内核运行信息的观测。
摘要由CSDN通过智能技术生成

作者:刘安

爱可生测试团队成员,主要负责 TXLE 开源项目相关测试任务,擅长 Python 自动化测试开发,最近醉心于 Linux 性能分析优化的相关知识。

本文来源:原创投稿

*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。

最近在极

客时间

上学习《Linux 性能优化实战》,接触到了基于 eBPF 的 BCC 软件包。

今天来分享一下 bcc 软件包中用来观测 MySQL 的几个工具。

1. 什么是 BPF 和 eBPF

BPF = Berkeley Packet Filter

https://en.wikipedia.org/wiki/BerkeleyPacketFilter

BPF 是类 Unix 系统上数据链路层的一种原始接口,提供原始链路层封包的收发

BPF 支持过滤数据包——用户态的进程可以提供一个过滤程序来声明它想收到哪些数据包

从 3.18 版本开始,Linux 内核提供了一种扩展的 BPF 虚拟机,被称为“extended BPF“,简称为 eBPF。它能够被用于非网络相关的功能,比如附在不同的 tracepoints 上,从而获取当前内核运行的许多信息

实际上 tcpdump 使用的 libpcap 就是基于 BPF 的。而接下来我们要介绍的基于 eBPF 的 bcc 软件包可以简单的理解为过滤内核运行信息的 "tcpdump"。

以下是一张 BPF 的工作流程图:

f4465daf0828d71262a059ea1bd1dbd8.png

2. 什么是 bcc

Bcc 的开源项目:https://github.com/iovisor/bcc

eBPF 虚拟机使用的是类似于汇编语言的指令,对于程序编写来说直接使用难度非常大。bcc 提供了一个名为 bcc 的 python 库,简化了 eBPF 应用的开发过程

Bcc 收集了大量现成的 eBPF 程序可以直接拿来使用,可以通过以下工具分布图感受一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值