本发明属于磁盘测试分析技术领域,具体涉及一种基于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)使用yum install blktrace–y命令安装blktrace;
(102)使用#mount-t debugfs debugfs/sys/kernel/debug命令挂载debugfs。
进一步的,所述步骤(20)包括:
(201)打开第一终端、第二终端;
(202)在第一终端运行指令启动blk