一种基于blktrace的磁盘I/O性能故障定位分析方法技术

技术编号:18496880 阅读:222 留言:0更新日期:2018-07-21 20:04
本发明专利技术涉及磁盘测试分析技术领域,提供了一种基于blktrace的磁盘I/O性能故障定位分析方法,包括(10)安装和调试blktrace;(20)收集目标分区的I/O性能数据;(30)对目标分区的性能值IOPS分析;(40)确定fio访问磁盘位置轨迹图,并得出结论。本申请所要保护的方案既可以精确分析磁盘的I/O性能,也可以定位发生I/O性能故障的位置。该方法一方面丰富了I/O性能分析方法;另一方面可以定位I/O故障发生位置,可结合实际应用分析出问题产生的原因,最终减少不必要的I/O干扰,提升磁盘性能。

A blktrace based fault location analysis method for disk I/O

The invention relates to the field of disk test analysis technology, provides a blktrace based disk I/O performance fault location analysis method, including (10) installing and debugging blktrace; (20) collecting the I/O performance data of the target partition; (30) IOPS analysis of the performance value of the target partition; (40) determining the location path of the FIO access disk Figure out and draw a conclusion. The scheme to be protected by this application can not only accurately analyze the I/O performance of the disk, but also locate the location of I/O performance failure. On the one hand, the method enriches the I/O performance analysis method; on the other hand, it can locate the I/O fault location, and can analyze the cause of the problem in combination with the practical application, and finally reduce the unnecessary I/O interference and improve the performance of the disk.

【技术实现步骤摘要】
一种基于blktrace的磁盘I/O性能故障定位分析方法
本专利技术属于磁盘测试分析
,具体涉及一种基于blktrace的磁盘I/O性能故障定位分析方法。
技术介绍
在Linux环境下对硬盘进行性能测试时,发现对某批硬盘的系统盘内某分区进行随机写性能测试时,性能结果几率性无法达标。对于此问题,硬盘厂商认为原因在于系统安装占据了磁盘的外圈,将该分区限制在了内圈,因此对该分区做FIO读写测试时,磁头摆距过大,磁盘性能下降。即:测试方法本身就存在问题,测试结果失真,不能反映磁盘的真实性能。要验证硬盘厂商的观点,需要提供一种新的验证方法,能够在I/O发生性能问题时进行故障定位分析。Blktrace一个针对Linux内核中块设备I/O的跟踪工具,是由linux内核块设备层的维护者开发的。通过这个工具,使用者可以获取I/O请求队列的各种详细的情况,包括进行读写的进程名称、进程号、执行时间、读写的物理块号、块大小等等。它可以跟踪发生在块设备层的很多事件,甚至可以做到整个块设备层事件的回放。基于此,本专利技术提供一种基于blktrace的磁盘I/O性能故障定位分析方法,获得I/O请求队列的各种详细情况,以便精确分析I/O性能,定位I/O性能故障位置。
技术实现思路
本专利技术的目的在于解决上述现有技术中存在的难题,提供一种基于blktrace的磁盘I/O性能故障定位分析方法。本专利技术是通过以下技术方案实现的:一种基于blktrace的磁盘I/O性能故障定位分析方法,包括:(10)安装和调试blktrace;(20)收集目标分区的I/O性能数据;(30)对目标分区的性能值IOPS分析;(40)确定fio访问磁盘位置轨迹图,并得出结论。进一步的,所述步骤(10)包括:(101)使用yuminstallblktrace–y命令安装blktrace;(102)使用#mount-tdebugfsdebugfs/sys/kernel/debug命令挂载debugfs。进一步的,所述步骤(20)包括:(201)打开第一终端、第二终端;(202)在第一终端运行指令启动blktrace,准备记录设备的访问模式;(203)在第二终端运行测试应用程序;(204)返回第一终端,终止blktrace运行,输出blktrace记录进行查看。进一步的,所述步骤(30)包括:(301)使用blkparse将(204)中所获得的对应不同CPU的多个文件聚合为一个文件;(302)使用btt命令分析(301)所获得的文件中记录的IOPS值,输出IOPS分析图。进一步的,所述步骤(40)包括:(401)使用bbt命令分析fio访问的开始扇区(offset),得到读操作和/或写操作的offset和size信息。(402)查看所需硬盘分区的信息情况包括时间、开始扇区和结束扇区,输出文件;(403)根据(403)的输出文件绘制fio访问扇区的轨迹图,所分析的硬盘分区是否存在故障。与现有技术相比,本专利技术的有益效果是:本申请所设计的基于blktrace的磁盘I/O性能故障定位分析方法,既可以精确分析磁盘的I/O性能,也可以定位发生I/O性能故障的位置。该方法一方面丰富了I/O性能分析方法;另一方面可以定位I/O故障发生位置,可结合实际应用分析出问题产生的原因,最终减少不必要的I/O干扰,提升磁盘性能。此外,本专利技术方法原理可靠,步骤简单,具有非常广泛的应用前景。由此可见,本专利技术与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。附图说明图1是本专利技术实施例提供的磁盘I/O性能故障定位分析方法的流程图。图2是本专利技术实施例所提供的IOPS分析图。图3是本专利技术实施例所提供的fio访问扇区的轨迹图。具体实施方式下面结合附图对本专利技术作进一步详细描述:实施例1如图1所示,本专利技术所提供的一种基于blktrace的磁盘I/O性能故障定位分析方法,包括:(10)安装和调试blktrace;(20)收集目标分区的I/O性能数据;(30)对目标分区的性能值IOPS分析;(40)确定fio访问磁盘位置轨迹图,并得出结论。在本实施例中,所述步骤(10)包括:(101)使用yuminstallblktrace–y命令安装blktrace;(102)使用#mount-tdebugfsdebugfs/sys/kernel/debug命令挂载debugfs。blktrace测试的时候,会分配物理机上逻辑cpu个数个线程,并且每一个线程绑定一个逻辑cpu来收集数据,然后,它会在debugfs中产生和每个线程对应的文件,然后调用ioctl函数,产生系统调用和内核交互。内核就会往文件中写入数据。在本实施例中,所述步骤(20)包括:(201)打开第一终端、第二终端;(202)在第一终端运行指令启动blktrace,准备记录设备的访问模式;(203)在第二终端运行测试应用程序;(204)返回第一终端,终止blktrace运行,输出blktrace记录进行查看。在本实施例中,所述步骤(30)包括:(301)使用blkparse将(204)中所获得的对应不同CPU的多个文件聚合为一个文件;(302)使用btt命令分析(301)所获得的文件中记录的IOPS值,输出IOPS分析图。blkparse仅仅是将blktrace输出的信息转化成人可以阅读和理解的输出,但是,信息太多,太杂,开发者完全没法得到关键信息。使用bbt工具可以将blktrace采集回来的数据,进行分析,得到对开发者更有用的信息。在本实施例中,所述步骤(40)包括:(401)使用bbt命令分析fio访问的开始扇区(offset),得到读操作和/或写操作的offset和size信息。(402)查看所需硬盘分区的信息情况包括时间、开始扇区和结束扇区,输出文件;(403)根据(403)的输出文件绘制fio访问扇区的轨迹图,所分析的硬盘分区是否存在故障。在步骤(40)中,可根据开始扇区和结束山区来计算size,绘制fio访问轨迹图是根据不同时间里访问磁盘的位置及访问扇区的个数来进行的。本申请所设计的基于blktrace的磁盘I/O性能故障定位分析方法,既可以精确分析磁盘的I/O性能,也可以定位发生I/O性能故障的位置。该方法一方面丰富了I/O性能分析方法;另一方面可以定位I/O故障发生位置,可结合实际应用分析出问题产生的原因,最终减少不必要的I/O干扰,提升磁盘性能。实施例2本实施例以申请人所服务客户遇到的实际情况为实施例,针对系统盘sda4分区进行4k随机读写性能测试时,性能结果机率性无法达标的情况,进行分析。1.安装和调试blktrace;1.1:使用yuminstallblktrace–y命令安装blktrace;1.2:使用命令#mount-tdebugfsdebugfs/sys/kernel/debug挂载debugfs;2.收集目标分区的I/O性能数据;2.1:打开两个终端,第一终端和第二终端;2.2:在第一终端,运行命令#blktrace-d/dev/sda4-o–|blkparse-i–,启动blktrace,准备记录设备的访问模式;2.3:在第二终端,运行以下应用程序。2.4:回到第一终端,按CTRL+C终止blk本文档来自技高网...

【技术保护点】
1.一种基于blktrace的磁盘I/O性能故障定位分析方法,其特征在于,包括:(10)安装和调试blktrace;(20)收集目标分区的I/O性能数据;(30)对目标分区的性能值IOPS分析;(40)确定fio访问磁盘位置轨迹图,并得出结论。

【技术特征摘要】
1.一种基于blktrace的磁盘I/O性能故障定位分析方法,其特征在于,包括:(10)安装和调试blktrace;(20)收集目标分区的I/O性能数据;(30)对目标分区的性能值IOPS分析;(40)确定fio访问磁盘位置轨迹图,并得出结论。2.如权利要求1所述的一种基于blktrace的磁盘I/O性能故障定位分析方法,其特征在于,所述步骤(10)包括:(101)使用yuminstallblktrace–y命令安装blktrace;(102)使用#mount-tdebugfsdebugfs/sys/kernel/debug命令挂载debugfs。3.如权利要求1所述的一种基于blktrace的磁盘I/O性能故障定位分析方法,其特征在于,所述步骤(20)包括:(201)打开第一终端、第二终端;(202)在第一终端运行指令启动blktrace,准备记录设备的访问模式;(203)在第二终端...

【专利技术属性】
技术研发人员:杨文清
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1