linux服务器硬盘IO读写负载查看

最近在用spark 向MySQL 倒腾数据,发现spark写MySQL很慢。排查了代码没发现问题,想着看下服务器的IO情况。下面记录一下排查思路。

1.首先top命令看下

在这里插入图片描述

40.0wa ,IO等待所占用的CPU时间的百分比,高过30%时IO压力高

2,先用iostat查看磁盘io 是否读写负载很高

命令:iostat -x 1 10

在这里插入图片描述

rrqm/s:每秒进行merge的读操作数目。即delta(rmerge)/s
wrqm/s:每秒进行merge的写操作数目。即delta(wmerge)/s
r/s:每秒完成的读I/O设备次数。即delta(rio)/s
w/s:每秒完成的写I/0设备次数。即delta(wio)/s
rsec/s:每秒读扇区数。即delta(rsect)/s
wsec/s:每秒写扇区数。即delta(wsect)/s
rKB/s:每秒读K字节数。是rsec/s的一半,因为每扇区大小为512字节

wKB/s:每秒写K字节数。是wsec/s的一半
avgrq-sz:平均每次设备I/O操作的数据大小(扇区)。即delta(rsect+wsect)/delta(rio+wio)
avgqu-sz:平均I/O队列长度。即delta(aveq)/s/1000(因为aveq的单位为毫秒)
await:平均每次设备I/O操作的等待时间(毫秒)。即delta(ruse+wuse)/delta(rio+wio)
svctm:平均每次设备I/O操作的服务时间(毫秒)。即delta(use)/delta(rio+wio)
%util:一秒中有百分之多少的时间用于I/O操作,或者说一秒中有多少时间I/O队列是非空的

重要指标:

%util 98.40
如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。

%idle 45.99
idle小于70% IO压力就较大了,一般读取速度有较多的wait

3.找出占用io高的进程的工具 iotop

在这里插入图片描述

可以看到 一水的MySQL的进程 居高不下。说明就是写MySQL太猛 把磁盘打满了。

IO负荷的压力测试

time dd if=/dev/zero bs=1M count=2048 of=direct_2G

此命令为在当前目录下新建一个2G的文件,我们在新建文件夹的同时来测试IO的负荷情况

  • 2
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值