性能测试工具 性能测试过程中-磁盘 IO 高分析方法

会飞的猪 · 2018年10月25日 · 最后由 kawa 回复于 2018年11月02日 · 3579 次阅读

磁盘 IO 高分析方法
工具准备:
iotop: http://guichaz.free.fr/iotop/
pt-ioprofile:http://www.percona.com/downloads/percona-toolkit/2.2.1/
io 高分析方法:
1、查看磁盘使用率 df -lh
2、安装 iostat 安装命令:yum install sysstat
3、iostat -d -k 2 查看 IO 情况,哪个磁盘的 IO 负载较高,接下来我们就来定位具体的负载来源

%util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为 use 的单位为毫秒)
如果 %util 接近 100%,说明产生的 I/O 请求太多,I/O 系统已经满负荷,该磁盘可能存在瓶颈。

4、安装 iotop 命令:安装命令:yum install iotop iotop 查看哪个线程耗 IO 比较高、按 o 只显示有磁盘 IO 活动的进程。

5、pt-ioprofile 定位负载来源文件
pt-ioprofile --profile-pid=1236 --cell=sizes
pt-ioprofile 的原理是对某个 pid 附加一个 strace 进程进行 IO 分析。

6、 对于定位问题更有用的是通过 IO 的吞吐量来进行定位。使用参数 --cell=sizes,该参数将结果已 B/s 的方式展示出来
pt-ioprofile --profile-pid=1236 --cell=sizes
从上图可以看出 IO 负载的主要来源是 jetty。
并且压力主要集中在读取上。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 14 条回复 时间 点赞
会飞的猪 回复

mysql 数据库,装了 MONyog 监控,但是不知道关注什么数据

kawa 回复

如果是 oracle 数据库,可以采用打印数据库的 awr 报告的方式 看看是否有大 SQL 或者其他问题

监测到数据库服务器的 io 过高,如何进行再进一步的分析?

会飞的猪 回复

作为一个新手,什么都不知道,是不能和大神在语言上擦出火花的,所以只能拜读大神的操作了,请问有没有从零到结束的实例操作,我想 see see,跪了

xiaoliuzi 回复

没有开博客,有啥性能问题,可以找我讨论啊😀

跪求博客

仅楼主可见
会飞的猪 回复

😄 请甩联系方式

可以哦

能加个好友吗

黑山老妖 回复

哦哦

会飞的猪 回复

那我认错了😂

黑山老妖 回复

不是啊

你是挖财的?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册