BLKTRACE

原文网址:http://linuxperf.com/?p=161

一、前言:在Linux系统上,如果I/O发生性能问题,如何进一步定位,iostat中await表示单个I/O所需的平均时间,但它同时包含了I/O Scheduler所消耗的时间和硬件所消耗的时间,所以不能作为硬件性能的指标(但是绝对可以作为参考),至于iostat的svctm更是一个废弃的指标,手册上已经明确说明了的。blktrace在这种场合就能派上用场,因为它能记录I/O所经历的各个步骤,从中可以分析是IO Scheduler慢还是硬件响应慢。。

二、blktrace的原理
一个 I/O请求进入block layer之后,可能会经历下面的过程:
1、Remap:可能被DM(Device Mapper)或MD(Multiple Device, Software RAID) remap到其它设备 典型如我们ceph中rbd提供的块设备,io下来之后会被ceph最中remap到各个物理磁盘
2、Split: 可能会因为I/O请求与扇区边界未对齐、或者size太大而被分拆(split)成多个物理I/O 典型如我们设置的最大块请求太小,io会被切分。I/O与扇区不对齐,也会被切分
3、Merge: 可能会因为与其它I/O请求的物理位置相邻而合并(merge)成一个I/O
4、被IO Scheduler依照调度策略发送给driver
5、被driver提交给硬件,经过HBA、电缆(光纤、网线等)、交换机(SAN或网络)、最后到达存储设备,设备完成IO请求之后再把结果发回。

相关字母的含义:
Q – 即将生成IO请求
|
G – IO请求生成
|
I – IO请求

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值