在之前的文章中介绍了如何使用blktrace 以及其工作原理和架构。我们知道blktrace 跟踪块设备的统计信息,每个CPU会有一个文件存储,然后通过blkparse可以将这些文件整合成一个文件来显示。
不过blkparse显示的文件过于庞大,而通过btt分析后会发现监控数据变得更加有意义。
1. 示例
监控获得数据
#blktrace -d /dev/sda -o sdatest
合并多个文件
#blkparse -i sdatest -d sdatest.bin
#btt -i sdatest.bin
2. 输出简要信息
第一部分平均时间
IO时间主要是分为三个区域:
n  插入或合并IO到请求队列的时间,计算从块层到插入,即Q2I(Q2I=Q2G+G2I)
n  请求队列到驱动的时间,即是I2D。
n  驱动和设备时间,即是D2C.
此外还有还有Q2Q表示IO交到块层的时间。系统等待请求的时间在Q2G中。一般情况下Q2C=Q2I+I2D+D2C,说一般情况因为有些IO会会执行merge。