一种基于Linux平台的硬盘IO请求延时模拟判断方法及系统技术方案

技术编号:19341543 阅读:26 留言:0更新日期:2018-11-07 13:40
本发明专利技术提供了一种基于Linux平台的硬盘IO请求延时模拟判断方法及系统,开启硬盘节能模式,模拟随机I/O请求大小,硬盘扇区大小随机测试,将测试硬盘I/O请求的随机分配给不同的硬盘;I/O随机读方式遍历,通过监测每次I/O请的平均等待时间与每次I/O请求的服务时间差值获得硬盘的延时时间浮动范围。本发明专利技术针对硬盘在powerMode disable和enable时,根据其特性进行FIO的压力测试,判断硬盘的延时响应能力,有效的提交识别风险,减少客户端问题发生。

A simulation and judgement method and system for hard disk IO request delay based on Linux platform

The invention provides a method and system for simulating and judging IO request delay of hard disk based on Linux platform, which opens the energy-saving mode of hard disk, simulates random I/O request size and hard disk sector size random test, and randomly assigns the test hard disk I/O request to different hard disk; I/O random reading mode traverses, and by monitoring each I/O request. The difference between the average waiting time and the service time of each I/O request obtains the delay time floating range of the hard disk. According to the characteristics of the power mode disable and enable, the invention carries out FIO pressure test to determine the delay response ability of the hard disk, effectively submits the identification risk, and reduces the occurrence of client problems.

【技术实现步骤摘要】
一种基于Linux平台的硬盘IO请求延时模拟判断方法及系统
本专利技术涉及服务器的
,具体涉及一种基于Linux平台的硬盘IO请求延时模拟判断方法及系统。
技术介绍
硬盘技术在服务器领域的应用中,针对高负载的I/O请求处理能力越来越强,能够稳定并且高效的处理高并发的数据I/O请求。但是在实际应用当中,除了这种高并发的需求外,还有一种就是I/O请求随机,且I/O请求的也比较小的情况,在面对这种应用时,硬盘将频繁的从节能状态,活跃状态和空闲状态中转换,每一次状态的转换硬盘内部都将消耗一定的响应时间,这种硬盘内部处理自身状态转换的效率高低,能够反应硬盘随机I/O的处理能力。在硬盘性能和压力测试中,我们通常采用的做法就是对硬盘持续发送顺序的/随机的不同blockSize的数据块的r/w请求,以此来确认硬盘在顺序的/随机的不同的blockSize下的r/w的性能和稳定性。在部分客户实际应用中,客户的I/O请求的并发量很小,而且请求的数据也比较小,客户在实际应用中发现硬盘的svctm(averageservicetime(inmilliseconds))会存在随机的变大的情况。产生此问题的主要原因是因为硬盘自身节能控制机制(powerMode)产生的,硬盘内部默认的节能控制机制(powerMode)是enable的状态,即当硬盘在没有I/O请后时,空闲(idle)一段时间后,硬盘将自动进入节能控制机制(powerMode),即硬盘关闭绝大部分功能,只保留部分必要的功能,以此来降低硬盘的功耗。当再次有I/O请求进入的时候,硬盘将会由空闲(idle)状态转为活跃(active)状态,然后开始处理数据。而在这一过程中,硬盘处理I/O请求的能可以通过两个指标来反应:1.Svctm:平均每次设备I/O请求的服务时间,反应了磁盘的I/O处理能力和当前的负载情况,在实际测试中,高并发的情况下,当负载占满时,svctm在20-30左右浮动。因此随机性的请求中,svctm合理值也应该是在30以内;2.Await:平均每次设备I/O操作的等待时间,即硬盘响应延时时间(寻道时间+磁头旋转延时)+svctm服务时间。基于上述,本领域亟需一种根据上述指标判断硬盘延时响应能力的技术方案。
技术实现思路
基于上述问题,本专利技术提出了一种基于Linux平台的硬盘IO请求延时模拟判断方法及系统,通过模拟硬盘出现IO延时的情况,判断硬盘延时的响应能力,据此根据客户需求就能有效的提交识别风险,减少客户端问题发生。本专利技术提供如下技术方案:一方面,本专利技术提供了一种基于Linux平台的硬盘IO请求延时模拟判断方法,包括:步骤101,开启硬盘节能模式;步骤102,延时模拟:模拟随机I/O请求大小,硬盘扇区大小随机测试;硬盘顺序遍历测试,硬盘随机测试,将测试硬盘I/O请求的随机分配给不同的硬盘;I/O方式遍历;步骤103,延时判断:发送随机I/O请求至硬盘,间隔时间大于预定间隔时间后再发送下一个I/O请求,硬盘进入深度空闲状态然后再进入激活状态,通过监测每次I/O请的平均等待时间与每次I/O请求的服务时间差值获得硬盘的延时时间浮动范围。其中,所述I/O方式遍历为随机读。其中,所述发送随机I/O请求至硬盘具体为:自动执行sleep命令进行等待,硬盘进入深度空闲状态,将随机I/O以及sleep命令写入循环执行实现硬盘延时模拟,若svctm接近await,则I/O几乎没有等待时间;若await远大于svctm,则I/O队列过长,响应时间变慢。其中,所述预定间隔时间为2min。另外,本专利技术还提供了一种基于Linux平台的硬盘IO请求延时模拟判断系统,所述系统包括:控制模块,用于开启硬盘节能模式;模拟模块,用于延时模拟:模拟随机I/O请求大小,硬盘扇区大小随机测试;硬盘顺序遍历测试,硬盘随机测试,将测试硬盘I/O请求的随机分配给不同的硬盘;I/O方式遍历;判断模块,用于延时判断:发送随机I/O请求至硬盘,间隔时间大于预定间隔时间后再发送下一个I/O请求,硬盘进入深度空闲状态然后再进入激活状态,通过监测每次I/O请的平均等待时间与每次I/O请求的服务时间差值获得硬盘的延时时间浮动范围。其中,所述I/O方式遍历为随机读。其中,所述发送随机I/O请求至硬盘具体为:自动执行sleep命令进行等待,硬盘进入深度空闲状态,将随机I/O以及sleep命令写入循环执行实现硬盘延时模拟,若svctm接近await,则I/O几乎没有等待时间;若await远大于svctm,则I/O队列过长,响应时间变慢。其中,所述预定间隔时间为2min。本专利技术提供了一种基于Linux平台的硬盘IO请求延时模拟判断方法及系统,开启硬盘节能模式,模拟随机I/O请求大小,硬盘扇区大小随机测试,将测试硬盘I/O请求的随机分配给不同的硬盘;I/O随机读方式遍历,通过监测每次I/O请的平均等待时间与每次I/O请求的服务时间差值获得硬盘的延时时间浮动范围。本专利技术针对硬盘在powerModedisable和enable时,根据其特性进行FIO的压力测试,判断硬盘的延时响应能力,有效的提交识别风险,减少客户端问题发生。附图说明图1是本专利技术的方法流程图;图2是本专利技术的系统结构框图;图3是本专利技术的随机I/O测试过程图;图4是本专利技术的硬盘顺序遍历测试过程图;图5A-5B是本专利技术的延时判断过程图。具体实施方式为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。本专利技术一种基于Linux平台的硬盘IO请求延时模拟判断方法及系统,基于linux平台,通过硬盘工具对硬盘进行powerModedisable和enable进行系列I/O测试,并从数据中,找出硬盘的svctm响应时间,用以判断硬盘的延时响应能力。基于上述,一方面,本专利技术的实施方式提供了一种基于Linux平台的硬盘IO请求延时模拟判断方法,附图1是本专利技术的方法流程图,包括:步骤101,开启硬盘节能模式;节能模式打开/关闭:硬盘工作方式,分为节能模式打开,节能模式关闭两种情况:节能模式关闭:此种模式下,硬盘将时刻保持active状态,此时,优点是性能最高,无延时。缺点是功耗也更高。节能模式打开:此种模式下,当有I/O请求时,硬盘才进入active状态。没有I/O请求时,以希捷硬盘为例,硬盘默认100ms进入idle_a状态(很小部分功能停止工作),如果2min后仍然没有I/O请求,则硬盘进入idle_b状态(部分功能停止工作)。当有I/O请求时,硬盘则需要从idle_b的休眠状态中唤醒,idle_a唤醒时间为100ms,idle_b唤醒时间为400ms,唤醒后硬盘进入active状态完成I/O请求。这个过程中的唤醒所需要的时间,即为硬盘自身内部响应时间,而为真正的I/O处理时间,也即为延时时间。从节能方面考虑,硬盘默认节能模式都是打开状态的。此时,优点是节能。缺点是存在轻微延时响应。步骤102,延时模拟:模拟随机I/O请求大小,硬盘扇区大小随机测试;硬盘顺序遍历测试,硬盘随机测试,将测试硬盘I/O本文档来自技高网
...

【技术保护点】
1.一种基于Linux平台的硬盘IO请求延时模拟判断方法,其特征在于:步骤101,开启硬盘节能模式;步骤102,延时模拟:模拟随机I/O请求大小,硬盘扇区大小随机测试;硬盘顺序遍历测试,硬盘随机测试,将测试硬盘I/O请求的随机分配给不同的硬盘,硬盘在不同时间段内随机响应不同的I/O请求;I/O方式遍历;步骤103,延时判断:发送随机I/O请求至硬盘,间隔时间大于预定间隔时间后再发送下一个I/O请求,硬盘进入深度空闲状态然后再进入激活状态,通过监测每次I/O请的平均等待时间与每次I/O请求的服务时间差值获得硬盘的延时时间浮动范围。

【技术特征摘要】
1.一种基于Linux平台的硬盘IO请求延时模拟判断方法,其特征在于:步骤101,开启硬盘节能模式;步骤102,延时模拟:模拟随机I/O请求大小,硬盘扇区大小随机测试;硬盘顺序遍历测试,硬盘随机测试,将测试硬盘I/O请求的随机分配给不同的硬盘,硬盘在不同时间段内随机响应不同的I/O请求;I/O方式遍历;步骤103,延时判断:发送随机I/O请求至硬盘,间隔时间大于预定间隔时间后再发送下一个I/O请求,硬盘进入深度空闲状态然后再进入激活状态,通过监测每次I/O请的平均等待时间与每次I/O请求的服务时间差值获得硬盘的延时时间浮动范围。2.根据权利要求1所述的方法,其特征在于:所述I/O方式遍历为随机读,寻道和磁头旋转产生压力,覆盖整个硬盘物理存储区域。3.根据权利要求1所述的方法,其特征在于:所述发送随机I/O请求至硬盘具体为:自动执行sleep命令进行等待,硬盘进入深度空闲状态,将随机I/O以及sleep命令写入循环执行实现硬盘延时模拟,若svctm接近await,则I/O几乎没有等待时间;若await远大于svctm,则I/O队列过长,响应时间变慢。4.根据权利要求1所述的方法,其特征在于:所述预定间隔时间为2min。5.一种基...

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

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

1