背景及概念
1.Block I/O stack
读写请求经过文件系统转换为IO请求,进入block层。IO在block层可能会被转发,拆分,合并,排序等一系列处理,最终提交给物理驱动层。
2.I/O elevator & schedulers
电梯算法负责将IO合并及排序,目的是为了适配rotation disk的IO特性以提高其性能。后续又加入了各种调度器,用于平衡IO吞吐量和IO延时,并提供了针对进程的IO优先级设置,以及均衡策略。
3.Disk I/O performance
系统统计的IO延时主要可分为两部分,Wait Time表示IO在block层调度队列等待处理的时间,Service Time表示驱动层及磁盘处理IO请求的时间。分析IO性能时可优先确认这两者比例,以定位性瓶颈的范围,blktrace+btt工具可方便测得该数据。
4.IOwait
<