概述针对IO密集型应用做系统调优的时候,我们通常都需要知道系统cpu 内存 io 网络等系统性能 和 使用率,结合应用本身的访问量,以及 MySQL的性能指标来综合分析 。比如说:我们将系统压力情况分为三个阶段:从用户端开始到web server,再到mysql 。
【分享一款mysql数据库数据文件IO监控神器--pt-ioprofile】1. 客户量:我们可以从web App的访问log,查看访问量(通常会记录时间),
2. 系统指标: 对比dstat、 IOStat/ mpstat pidstat 等搜集对应的系统性能指标,
3. mysql: 使用mysql status ,或者 mycheckpoint等工具搜集mysql的cache , query等数据 。
我们很容易搜集到了系统层、设备层的IO数据,但是缺少一个工具来告诉你应用打开了多少文件,文件读写比例,执行了多少次fsync,是随机读写还是顺序读写,另外,mysql是一个庞大而精心设计的系统,使用了一些列的方案如table cache, thread cache 等来提升IO,我们比较容易获得他的缓存量,命中率,文件数,但是却不好直观的知道它到底对物理IO设备读写了多少数据 。到底是数据库的那部分操作使IO这么忙,或者说到底是哪个表,哪个数据文件的IO动作最频繁,以及他到底是什么样的系统调用 。
所以今天主要分享一个实用工具帮助我们获取这些信息--pt-ioprofile 。
推荐阅读
- 数据库远程连接工具 linux安装Mysql5.7和安装navicat介绍
- MySQL 中常见的字符串函数应用详解
- 如何删除MySQL数据库中表的重复记录且仅保留其中一条?
- MySQL权限处理的一个小bug
- Mysql:替换某个字段中的部分字符串——replace函数
- 阿里大神分享API网关在微服务架构中的应用
- 详解MySQL查看数据库表容量大小的方法总结
- 当季美食青豌豆,营养丰富功效好,三种吃法分享给大家。
- 小米手机如何取消纯净模式 小米手机关闭纯净模式教程分享
- 分享5个兼职赚钱的网站 网上赚钱的平台哪个好
