磁盘的观测

本文详细解读了iostat、sar、pidstat等工具在磁盘延时分析中的应用,探讨了平均请求大小、I/O响应时间和设备利用率等关键指标,并介绍了操作系统可调参数如ionice和磁盘控制器参数的设置。此外,还涉及了如何通过I/O调度器策略提升性能和避免过度负载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

延时分析:
在这里插入图片描述

分析

在这里插入图片描述
iostat
在这里插入图片描述
在这里插入图片描述
rrqm/s: 每秒合并放入驱动请求队列的读请求数
wrqm/s:每秒合并放入驱动请求队列的写请求数
r/s:每秒发给磁盘设备的读请求数
w/s:每秒发给磁盘设备的写请求数
rkB/s:每秒从磁盘设备读取的KB数
wkB/s:每秒向磁盘设备写入的KB数
avgrq-sz:平均请求大小,单位为扇区(512B)
avgqu-sz:在驱动请求队列和在设备中活跃的平均请求数
await:平均I/O响应时间,包括在驱动请求队列里等待和设备的I/O响应时间(ms)
r_await:同wait,仅针对读
w_await:同wait,仅针对写
svctm:(推断)磁盘设备的I/O平均响应时间(ms)
%util:设备忙处理I/O请求的百分比(使用率)

avgrq-sz是合并后的数字,小尺寸(16个扇区或者更小)可以视为无法合并的随机I/O负载的迹象;大尺寸有可能是大I/O,或者是合并的连续负载

sar

pidstat

systemtap

perf

iotop

iosnoop

blktrace

磁盘控制器相关
megacli

smartctl

操作系统可调参数

ionice、资源控制、内核可调参数:

ionice:设置一个进程的I/O调度级别和优先级调整级别为整数
0 - 无:不指定,优先级根据进程nice值选定,调度级别默认
1 - 实时:对磁盘的最高级别访问,如果误用会导致其他进程饿死
2 - 尽力:默认调度级别,包括优先级0~7,0为最高级
3 - 空闲:在一段磁盘空闲的期限过后才允许进行I/O

ionice -c 3 -p 1623

可调参数:
/sys/block/sda/queue/scheduler 选择I/O调度器策略,是空操作、最后期限、an(预期)还是cfq

磁盘控制器可调参数:
取决于磁盘控制器型号和厂商

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值