中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

blktrace工具

介绍

blktrace是一个用户态的工具,提供I/O子系统上时间如何消耗的详细信息,从中可以分析是IO调度慢还是硬件响应慢等。配套工具blkparse从blktrace读取原始输出,并产生人们可读的输入和输出操作摘要。btt作为blktrace软件包的一部分而被提供,它分析blktrace输出,并显示该数据用在每个I/O栈区域的时间量,使它更容易在I/O子系统中发现瓶颈。

安装方式

以CentOS为例,可以使用以下命令安装:

# yum -y install blktrace

使用方式

  1. 使用blktrace命令抓取指定设备的IO信息,如:
    # blktrace -w 120 -d /dev/sda

    “-w”后接的参数指定抓取时间,以秒为单位;“-d”后接的参数指定设备。

    命令执行完后会生成一系列以device.blktrace.cpu格式命令的二进制文件。

  2. 使用blkparse命令解析blktrace生成的数据,如:
    # blkparse -i sda -d blkparse.out

    “-i”后接的参数指定输入文件名,由于blktrace输出的文件名默认都是device.blktrace.cpu格式,所以只需输入前面的“device”即可;“-d”后接的参数指定二进制输出文件。

    这个命令会将分析结果输出到屏幕,并且将分析结果的二进制数据输出到blkparse.out文件中。

  3. 使用btt命令查看IO的整体情况,如:
    # btt -i blkparse.out

    “-i”后接的参数指定输入文件名。

    • Q2Q:多个发送到块IO层请求的时间间隔。
    • Q2G:生成IO请求所消耗的时间,包括remap(可能被DM(Device Mapper)或MD(Multiple Device, Software RAID)remap到其它设备)和split(可能会因为I/O请求与扇区边界未对齐、或者size太大而被分拆(split)成多个物理I/O)的时间。
    • G2I:IO请求进入IO Scheduler所消耗的时间,包括merge(可能会因为与其它I/O请求的物理位置相邻而合并成一个I/O)的时间。
    • I2D:IO请求在IO Scheduler中等待的时间。
    • D2C:IO请求在driver和硬件上(IO请求被driver提交给硬件,经过HBA、电缆(光纤、网线等)、交换机(SAN或网络)、最后到达存储设备,设备完成IO请求之后再把结果发回)所消耗的时间。
    • Q2C:整个IO请求所消耗的时间(Q2I + I2D + D2C = Q2C),相当于iostat的await。

    正常情况D2C占比90%以上,若I2D占比较高,可以尝试调整IO调度策略。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词