首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >create database 要几次 IO

create database 要几次 IO

作者头像
初代庄主
发布2022-09-22 11:25:48
发布2022-09-22 11:25:48
3920
举报
文章被收录于专栏:初代庄主初代庄主


背景

好久没有更新文章了,请相信我绝对不是因为投资亏麻了心情不好。而是因为我去准备黑科技了。

我搞了一个叫 `bcc-python` 的项目,通过 eBPF 非常简单的拿到 `linux kernel event`。如果内核的事件我都知道,那程序做了些什么不就完全暴露在我眼皮子下了吗?

老夫现在再也不怕 mysql hang 死在我面前了。


安装工具

第一步 安装依赖

代码语言:javascript
复制
yum -y install bcc-tools

第二步 安装我的 `bcc-python` 前端

代码语言:javascript
复制
pip3 install bcc-python

到了这里你就可以直接使用 bcc-python 提供的 90几个观测程序,包括内存、网络、磁盘、cpu 、进程 ... !好了不吹了,就到这里开始干正事。


观测 create database 会有几个 IO

第一步 找到 mysqld 的 PID

代码语言:javascript
复制
ps -ef | grep mysqld
mysql33+ 2778958       1  0 20:07 ?        00:00:04 /usr/local/mysql-8.0.29-linux-glibc2.12-x86_64/bin/mysqld --defaults-file=/etc/my-3306.cnf
root     2794044 2791894  0 20:47 pts/6    00:00:00 grep --color=auto mysqld

第二步 通过 bcc-python 提供的 filetop 程序来观测 `2778958` 号进程的 IO 读写情况 .

代码语言:javascript
复制
filetop -C -s all -p 2778958 10 1

第三步 给它来一个 create database 把库建上,看有几次 IO .

代码语言:javascript
复制
create database tempdb;
Query OK, 1 row affected (1.01 sec)

观察结果

代码语言:javascript
复制
filetop -C -s all -p 2778958 10 1
Tracing... Output every 10 secs. Hit Ctrl-C to end

22:00:48 loadavg: 0.00 0.00 0.00 1/383 2784106

TID     COMM             READS  WRITES R_Kb    W_Kb    T FILE
2778971 mysqld           0      2      0       80      R #ib_16384_0.dblwr
2778976 mysqld           0      3      0       1       R ib_logfile0
2779788 mysqld           0      1      0       0       R mysql-bin.000002

我还是整理一下程序的输出,这样方便直接看结果。

MySQL 版本

文件名

写入次数

8.0.29

#ib_16384_0.dblwr

2

ib_logfile0

3

mysql-bin.000002

1


结论

`create database` 需要 6 次 写 IO ,当然不同的 MySQL 版本和配置,都会影响到这个值。但这有什么问题呢?只要你安装上了 bcc-python ,性能工程师带你一发入魂。

github 开源地址:`https://github.com/Neeky/bcc-python` .


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 初代庄主 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档