CN103500143A - 硬盘参数调整方法及装置 - Google Patents
硬盘参数调整方法及装置 Download PDFInfo
- Publication number
- CN103500143A CN103500143A CN201310452046.2A CN201310452046A CN103500143A CN 103500143 A CN103500143 A CN 103500143A CN 201310452046 A CN201310452046 A CN 201310452046A CN 103500143 A CN103500143 A CN 103500143A
- Authority
- CN
- China
- Prior art keywords
- hard disk
- request
- time
- generic sequence
- praameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种硬盘参数调整方法,包括:根据访问硬盘的多个输入输出IO请求的访问地址,将所述多个IO请求划分为至少一个IO顺序序列,其中,所述多个IO请求是按访问所述硬盘的时间顺序排列的,并且各所述IO顺序序列中包括至少一个所述IO请求;根据所述IO顺序序列中的所述IO请求的个数以及所述IO顺序序列的个数,计算所述硬盘的顺序度;以及在所述顺序度小于预定的第一阈值的情况下,按预定的调整策略调整所述硬盘的硬盘参数。通过可量化的顺序度数据或利用率数据和反馈机制实现自动参数决策及调整,本发明实施例的硬盘参数调整方法能够解决人工进行观察及调整参数,重复操作,执行效率低下,可靠度低的问题。
Description
技术领域
本发明涉及数据存储领域,尤其涉及一种硬盘参数调整方法及装置。
背景技术
在存储领域,硬盘参数的调整是业务优化的重点问题。通常情况下,部署新局点后,阵列需要通过调整各种硬盘参数来进行业务的磨合,以达到在特定业务下运行的最佳状态,使硬盘可靠性和性能达到平衡点。
对于硬盘参数的调整,通常采用纯手工或半自动化方式来调整硬盘参数,然后人工收集硬盘输入输出(英文:input and output,缩写:IO)数据的状态信息,基于所收集到的硬盘IO数据的状态信息主观评估硬盘参数的可靠性,并在主观评定硬盘参数的可靠性较高的情况下,将硬盘参数记录作为优选硬盘参数。通过多次调整硬盘参数,有可能获得多组优选硬盘参数。在这种情况下,通常由人工判断并从多组优选硬盘参数中选择出一组硬盘参数较优值。
由于人工基于硬盘IO数据的状态信息感性评估硬盘参数的可靠性,上述硬盘参数可靠性调整方法存在准确度低的问题。换言之,在对硬盘设定由人工确定的硬盘参数下,硬盘可能并没有运行在较佳状态下,例如,出现较高的故障率。
发明内容
技术问题
有鉴于此,本发明要解决的技术问题是,如何实现自动调整硬盘参数并且提高硬盘参数调整的准确度。
解决方案
为了解决上述技术问题,根据本发明一实施例,在第一方面,提供了一种硬盘参数调整方法,包括:
根据访问硬盘的多个输入输出IO请求的访问地址,将所述多个IO请求划分为至少一个IO顺序序列,其中,所述多个IO请求是按访问所述硬盘的时间顺序排列的,并且各所述IO顺序序列中包括至少一个所述IO请求;
根据所述IO顺序序列中的所述IO请求的个数以及所述IO顺序序列的个数,计算所述硬盘的顺序度;以及
在所述顺序度小于预定的第一阈值的情况下,按预定的调整策略调整所述硬盘的硬盘参数。
结合第一方面,在第一种可能的实施方式中,当所述IO顺序序列的个数大于1时,非最后一个IO顺序序列中的最后一个IO请求的访问地址大于其下一个IO顺序序列的第一个IO请求的访问地址,并且
当所述IO顺序序列包括至少两个IO请求时,非第一个的所述IO请求的访问地址不小于其前一IO请求的访问地址,并且非最后一个的所述IO请求的访问地址不大于其后一IO请求的访问地址。
结合第一方面和第一方面的第一种可能的实施方式,在第二种可能的实施方式中,根据所述IO顺序序列中的所述IO请求的个数以及所述IO顺序序列的个数,计算所述硬盘的顺序度包括:
将各所述IO顺序序列的顺序IO计数相加,其中所述顺序IO计数等于所述IO顺序序列中的IO请求的个数减1;以及
计算所述顺序度,所述顺序度等于将所述相加的结果除以所述IO顺序序列的个数所得到的值。
为了解决上述技术问题,根据本发明另一实施例,在第二方面,提供了一种硬盘参数调整方法,包括:
根据访问硬盘的多个输入输出IO请求的访问时间及返回时间,统计所述硬盘的运行时间及空闲时间;
根据所述硬盘的运行时间及空闲时间,计算所述硬盘的利用率;以及
当所述利用率大于预定的第二阈值时,按预定的调整策略调整所述硬盘的硬盘参数。
结合第二方面,在第一种可能的实施方式中,所述运行时间为自第一个IO请求的访问时间起并且至最后一个IO请求的返回时间止的统计时间段的长度。
结合第二方面及第二方面的第一种可能的实施方式,在第二种可能的实施方式中,所述统计所述空闲时间包括:
将计数器的初始值置为零;
自第一个IO请求开始,在每接收一个IO请求时使所述计数器加1,并在每返回一个IO请求时使所述计数器减1;以及
累计所述统计时间段内所述计数器为0的时间段的长度,并且所述空闲时间等于通过所述累计得到的值。
结合第二方面的前二种可能的实施方式,在第三种可能的实施方式中,根据所述硬盘的运行时间及空闲时间,计算所述硬盘的利用率包括:
计算寻道时间,所述寻道时间等于将所述运行时间减去所述空闲时间所得到的值;以及
计算所述利用率,所述利用率等于将所述寻道时间除以所述运行时间所得到的值。
为了解决上述技术问题,根据本发明又一实施例,在第三方面,提供了一种硬盘参数调整装置,包括:
划分模块,用于根据访问硬盘的多个输入输出IO请求的访问地址,将所述多个IO请求划分为至少一个IO顺序序列,其中,所述多个IO请求是按访问所述硬盘的时间顺序排列的,并且各所述IO顺序序列中包括至少一个所述IO请求;
第一计算模块,用于根据所述IO顺序序列中的所述IO请求的个数以及所述IO顺序序列的个数,计算所述硬盘的顺序度;以及
第一调整模块,用于在所述顺序度小于预定的第一阈值的情况下,按预定的调整策略调整所述硬盘的硬盘参数。
结合第三方面,在第一种可能的实施方式中,当所述IO顺序序列的个数大于1时,非最后一个IO顺序序列中的最后一个IO请求的访问地址大于其下一个IO顺序序列的第一个IO请求的访问地址,并且
当所述IO顺序序列包括至少两个IO请求时,非第一个的所述IO请求的访问地址不小于其前一IO请求的访问地址,并且非最后一个的所述IO请求的访问地址不大于其后一IO请求的访问地址。
结合第三方面及第三方面的第一种可能的实施方式,在第二种可能的实施方式中,所述第一计算模块具体被配置为将各所述IO顺序序列的顺序IO计数相加,其中所述顺序IO计数等于所述IO顺序序列中的IO请求的个数减1;以及
计算所述顺序度,所述顺序度等于将所述相加的结果除以所述IO顺序序列的个数所得到的值。
为了解决上述技术问题,根据本发明再一实施例,在第四方面,提供了一种硬盘参数调整装置,包括:
统计模块,用于根据访问硬盘的多个输入输出IO请求的访问时间及返回时间,统计所述硬盘的运行时间及空闲时间;
第二计算模块,用于根据所述硬盘的运行时间及空闲时间,计算所述硬盘的利用率;以及
第二调整模块,用于当所述利用率大于预定的第二阈值时,按预定的调整策略调整所述硬盘的硬盘参数。
结合第四方面,在第一种可能的实施方式中,所述运行时间为自第一个IO请求的访问时间起并且至最后一个IO请求的返回时间止的统计时间段的长度。
结合第四方面及第四方面的第一种可能的实施方式,在第二种可能的实施方式中,所述统计模块被配置为,
将计数器的初始值置为零;
自第一个IO请求开始,在每接收一个IO请求时使所述计数器加1,并在每返回一个IO请求时使所述计数器减1;以及
累计所述统计时间段内所述计数器为0的时间段的长度,并且所述空闲时间等于通过所述累计得到的值。
结合第四方面的前二种可能的实施方式,在第三种可能的实施方式中,所述第二计算模块被配置为,
计算寻道时间,所述寻道时间等于将所述运行时间减去所述空闲时间所得到的值;以及
计算所述利用率,所述利用率等于将所述寻道时间除以所述运行时间所得到的值。
有益效果
通过可量化的顺序度数据或利用率数据和反馈机制实现自动参数决策及调整,本发明实施例的硬盘参数调整方法能够解决人工进行观察及调整参数,重复操作,执行效率低下,可靠度低的问题。
通过建立顺序度或利用率的数学基础算法来进行硬盘参数调整,顺序度越高或利用率(硬盘工作繁忙度比例值)越低,则可靠性越高。本发明实施例的硬盘参数调整方法,能够解决现有技术无法量化评估硬盘可靠性的问题。
根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。
图1示出了根据本发明一实施例的硬盘参数调整方法的流程图;
图2示出了根据本发明另一实施例硬盘参数调整方法的流程图;
图3示出了将IO请求划分为IO顺序序列的方法的示例图;
图4示出了根据本发明又一实施例硬盘参数调整方法的流程图;
图5示出了根据本发明再一实施例硬盘参数调整方法的流程图;
图6示出了根据本发明一实施例的硬盘参数调整装置的结构示意图;
图7示出了根据本发明另一实施例的硬盘参数调整装置的结构示意图;
图8示出了根据本发明一个实施例提供的网络设备的结构框图。
具体实施方式
以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有这些具体细节,本发明同样可以实施。在另外一些实例中,对于大家熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
实施例1
图1示出根据本发明一实施例的硬盘参数调整方法的流程图。如图1所示,该方法主要包括:
步骤S11、根据访问硬盘的多个输入输出IO请求的访问地址,将多个IO请求划分为至少一个IO顺序序列。
其中,多个IO请求是按访问硬盘的时间顺序排列的,并且各IO顺序序列中包括至少一个IO请求。
步骤S12、根据IO顺序序列中的IO请求的个数以及IO顺序序列的个数,计算硬盘的顺序度。
步骤S13、在顺序度小于预定的第一阈值的情况下,按预定的调整策略调整硬盘的硬盘参数。
通过可量化的顺序度数据和反馈机制实现自动参数决策及调整,本发明实施例的硬盘参数调整方法能够解决人工进行观察及调整参数,重复操作,执行效率低下,可靠度低的问题。
实施例2
图2示出根据本发明一实施例硬盘参数调整方法的流程图。如图2所示,该方法具体包括:
步骤S101、记录访问硬盘的多个输入输出IO请求的访问地址。
获取每个IO的轨迹,其中IO的轨迹包括IO访问地址、访问长度、访问类型、访问时间、访问返回时间。从中记录硬盘的IO序列中每个IO的IO访问地址,该IO访问地址是一个整数值,具体为其对应的十六进制数据。
步骤S102、根据访问硬盘的多个输入输出IO请求的访问地址,将多个IO请求划分为至少一个IO顺序序列。
其中,多个IO请求是按访问硬盘的时间顺序排列的,并且各IO顺序序列中包括至少一个IO请求。
进一步地,当IO顺序序列的个数大于1时,非最后一个IO顺序序列中的最后一个IO请求的访问地址大于其下一个IO顺序序列的第一个IO请求的访问地址,其中IO请求的访问地址为其对应的十六进制数据。
当IO顺序序列包括至少两个IO请求时,非第一个的IO请求的访问地址不小于其前一IO请求的访问地址,并且非最后一个的IO请求的访问地址不大于其后一IO请求的访问地址。
具体为:按访问硬盘的时间顺序排列的多个IO请求组成IO序列。设IO序列X={(LBA(i),LEN(i))|i=0,1,…n};有LBA(i)≥LBA(i-1)+LEN(i-1),则该IO序列为IO顺序序列,该IO顺序序列的顺序度为s=n-1,即IO顺序序列中点的个数减去1。特别地,当一个IO不在任何IO顺序序列中,其本身为一个退化的单点IO顺序序列,顺序度为0。即,以第一个IO为基础,当第二个IO地址大于等于第一个IO地址,则第二个点记录为一个顺序IO个数,依次类推计算后续点。当出现一个点的IO访问地址小于前一个点,则将前一个点的顺序序列截断,计录前一个顺序序列,并且该点不计算顺序IO个数。
图3示出了将IO序列划分为IO顺序序列的方法的示例图。如图3所示,以第一个点为基础,后续三个点依次大于等于前一个点的IO访问地址,第三个点的访问地址大于第二个点的访问地址。
第五个点的访问地址小于第四个点的访问地址,则将第一个顺序序列截断,到此累计有三个顺序IO计数(第二、三、四点)和一个顺序序列。
第六个点的访问地址小于第五个点的访问地址,则将第五个点的顺序序列截断,第五个点没有顺序IO,到此累计有三个顺序IO计数和二个顺序序列。
第七个点的访问地址小于第六个点的访问地址,则将第六个点的顺序序列截断,第六个点没有顺序IO,到此累计有三个顺序IO计数和三个顺序序列。
第八个点的IO访问地址又大于第七个点,后续没有IO,则到此累计有四个顺序IO(加上第八点)计数和四个顺序序列。
步骤S103、根据IO顺序序列中的IO请求的个数以及IO顺序序列的个数,计算硬盘的顺序度。
将各IO顺序序列的顺序IO计数相加,其中顺序IO计数等于IO顺序序列中的IO请求的个数减1;以及
计算顺序度,顺序度等于将所述相加的结果除以所述IO顺序序列的个数所得到的值。
具体为,对于IO序列,其顺序度为其中所有IO顺序序列的长度算术平均值。设序列X={α(i)|i=0,…m-1},α(i)均为IO顺序序列,包括单点顺序序列,顺序点数为s(α(i)),则所有序列的顺序度公式化表达为:
以图3为例,根据上述步骤,依次类推计算到IO结束,得到顺序IO个数和顺序序列个数。IO序列顺序度=总顺序IO个数/总顺序序列个数,即,顺序度=(3+0+0+1)/4=1,其中,3+0+0+1表示顺序的IO个数,4表示顺序序列个数。
步骤S104、在顺序度小于预定的第一阈值的情况下,按预定的调整策略调整硬盘的硬盘参数。
具体可以包括:
判断顺序度是否小于预设的第一阈值。
通过预设顺序度的第一阈值,判断上述步骤中计算出的顺序度是否小于该第一阈值。顺序度越高,则硬盘可靠性越高,相反较低的IO顺序度表示硬盘有较多的逆向寻道现象,反方向寻道的寻道距离为负数,造成寻道时间变长的同时也带来磁臂回摆,导致性能和可靠性降低。
在判断的结果为否的情况下,结束流程。
在判断的结果为否的情况下,判定硬盘在该硬盘参数下可靠,可以记录并输出硬盘参数,结束流程。
在判断的结果为是的情况下,按预定的调整策略调整硬盘的硬盘参数。
硬盘参数具体可以包括:设定硬盘参数的初始值;设定硬盘参数的区间范围;设定调优策略;以及设定预定阈值。其中,调优策略可以包括每次调整硬盘参数时的调整量。
在执行步骤S101之前,还可以包括设定初始硬盘参数和/或设定调整策略的步骤。
硬盘设定硬盘参数可以包括:硬盘的排队深度,IO等待阻塞最大个数,排队算法,开关原生命令队列(英文:Native Command Queuing,缩写:NCQ),开关硬盘高速缓冲存储器(英文:Cache)中的一项或多项。
其中,硬盘的排队深度的区间范围可以为1-256,初始值可以为1,每次调整硬盘参数时的调整量可以为2i,其中i为正整数。
IO等待阻塞最大个数的区间范围可以为1-16,初始值可以为1,每次调整硬盘参数时的调整量可以为1。
排队算法的区间范围可以为noop,CFQ或deadline,初始值可以为noop。
开关NCQ的区间范围可以为开或关,初始值可以为关。
开关Cache的区间范围可以为开或关,初始值可以为关。
在判断的结果为是的情况下,按预定的调整策略调整硬盘的硬盘参数。
通过可量化的顺序度数据和反馈机制实现自动参数决策及调整,本发明实施例的硬盘参数调整方法能够解决人工进行观察及调整参数,重复操作,执行效率低下,可靠度低的问题。
通过建立顺序度的数学基础算法来进行硬盘参数调整,顺序度越高,则可靠性越高。本发明实施例的硬盘参数调整方法,能够解决现有技术无法量化评估硬盘可靠性的问题。
实施例3
图4示出根据本发明又一实施例硬盘参数调整方法的流程图。如图4所示,该方法具体包括:
步骤S21、根据访问硬盘的多个输入输出IO请求的访问时间及返回时间,统计硬盘的运行时间及空闲时间。
步骤S22、根据硬盘的运行时间及空闲时间,计算硬盘的利用率。
步骤S23、当利用率大于预定的第二阈值时,按预定的调整策略调整硬盘的硬盘参数。
通过可量化的利用率数据和反馈机制实现自动参数决策及调整,本发明实施例的硬盘参数调整方法能够解决人工进行观察及调整参数,重复操作,执行效率低下,可靠度低的问题。
实施例4
图5示出根据本发明又一实施例硬盘参数调整方法的流程图。如图5所示,该方法具体包括:
步骤S201、记录访问硬盘的多个输入输出IO请求的访问时间及返回时间。
获取每个IO的轨迹,其中IO的轨迹包括IO访问地址、访问长度、访问类型、访问时间、访问返回时间。从中记录硬盘的IO序列中每个IO的接收时间及IO的返回时间。从第一个IO下发开始遍历,接收一个IO则IO计数器累加1,返回一个IO则IO计数器累减1。
步骤S202、根据访问硬盘的多个输入输出IO请求的访问时间及返回时间,统计硬盘的运行时间及空闲时间。
其中,运行时间为自第一个IO请求的访问时间起并且至最后一个IO请求的返回时间止的统计时间段的长度,空闲时间表示统计时间段内无任一IO存续的累计时间段的长度。统计空闲时间的步骤可以包括:
将计数器的初始值置为零;
自第一个IO请求开始,在每接收一个IO请求时使计数器加1,并在每返回一个IO请求时使计数器减1;以及
累计统计时间段内计数器为0的时间段的长度,并且空闲时间等于通过所述累计得到的值。
步骤S203、根据硬盘的运行时间及空闲时间,计算硬盘的利用率。
计算寻道时间,寻道时间等于将运行时间减去空闲时间所得到的值;以及计算利用率,利用率等于将寻道时间除以运行时间所得到的值。
步骤S204、当利用率大于预定的第二阈值时,按预定的调整策略调整硬盘的硬盘参数。
具体可以包括:
判断利用率是否大于预设的利用率的第二阈值。
较高的利用率则意味着硬盘将花费更长的时间执行命令,也就意味着硬盘工作时间更长,而长时间的高负荷运行是导致硬盘可靠性降低的关键因素。通过预设第二阈值,判断上述步骤中计算出的利用率是否大于该第二阈值。
在判断的结果为否的情况下,判定硬盘在该硬盘参数下可靠。
在判断的结果为否的情况下,按预定的调整策略调整硬盘的硬盘参数。具体调整步骤,与实施例2中步骤S104相同。
通过可量化的利用率数据和反馈机制实现自动参数决策及调整,本发明实施例的硬盘参数调整方法能够解决人工进行观察及调整参数,重复操作,执行效率低下,可靠度低的问题。
通过建立利用率的数学基础算法来进行硬盘参数调整,利用率(硬盘工作繁忙度比例值)越低,则可靠性越高。本发明实施例的硬盘参数调整方法,能够解决现有技术无法量化评估硬盘可靠性的问题。
实施例5
图6示出根据本发明一实施例的硬盘参数调整装置,如图6所示,该硬盘参数调整装置10可以包括:划分模块101,第一计算模块102,第一调整模块103。
划分模块101,用于根据访问硬盘的多个输入输出IO请求的访问地址,将多个IO请求划分为至少一个IO顺序序列,其中,多个IO请求是按访问硬盘的时间顺序排列的,并且各所述IO顺序序列中包括至少一个IO请求。
当IO顺序序列的个数大于1时,非最后一个IO顺序序列中的最后一个IO请求的访问地址大于其下一个IO顺序序列的第一个IO请求的访问地址,并且
当IO顺序序列包括至少两个IO请求时中,非第一个的IO请求的访问地址不小于其前一IO请求的访问地址,并且非最后一个的IO请求的访问地址不大于其后一IO请求的访问地址。
第一计算模块102,与划分模块101连接,用于根据IO顺序序列中的IO请求的个数以及IO顺序序列的个数,计算所述硬盘的顺序度。第一计算模块具体被配置为将各IO顺序序列的顺序IO计数相加,其中顺序IO计数等于IO顺序序列中的IO请求的个数减1;以及计算顺序度,顺序度等于将所述相加的结果除以所述IO顺序序列的个数所得到的值。
第一调整模块103,与第一计算模块102连接,用于在顺序度小于预定的第一阈值的情况下,按预定的调整策略调整硬盘的硬盘参数。具体调整方式与实施例2中步骤S104相同。
实施例6
图7示出根据本发明又一实施例的硬盘参数调整装置,如图7所示,该硬盘参数调整装置20可以包括:统计模块201,第二计算模块202及第二调整模块203。
统计模块201,用于根据访问硬盘的多个输入输出IO请求的访问时间及返回时间,统计所述硬盘的运行时间及空闲时间,运行时间为自第一个IO请求的访问时间起并且至最后一个IO请求的返回时间止的统计时间段的长度。
统计模块201具体可以被配置为:
将计数器的初始值置为零;
自第一个IO请求开始,在每接收一个IO请求时使计数器加1,并在每返回一个IO请求时使计数器减1;以及累计统计时间段内计数器为0的时间段的长度,并且空闲时间等于通过所述累计得到的值。
第二计算模块202,与统计模块201连接,用于根据硬盘的运行时间及空闲时间,计算硬盘的利用率。第二计算模块被配置为,计算寻道时间,寻道时间等于将运行时间减去空闲时间所得到的值;以及计算利用率,利用率等于将寻道时间除以运行时间所得到的值。
第二调整模块203,与第二计算模块202连接,用于当利用率大于预定的第二阈值时,按预定的调整策略调整硬盘的硬盘参数。具体调整方法与实施例2中步骤S104相同。
实施例7
图8示出了本发明的另一个实施例的一种网络设备的结构框图。所述网络设备1100可以是具备计算能力的主机服务器、个人计算机PC、或者可携带的便携式计算机或终端等。本发明具体实施例并不对计算节点的具体实现做限定。
所述网络设备1100包括处理器(processor)1110、通信接口(Communications Interface)1120、存储器(memory array)1130和总线1140。其中,处理器1110、通信接口1120、以及存储器1130通过总线1140完成相互间的通信。
通信接口1120用于与网元通信,其中网元包括例如虚拟机管理中心、共享存储等。
处理器1110用于执行程序。处理器1110可能是一个中央处理器CPU,或者是专用集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器1130用于存放文件。存储器1130可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1130也可以是存储器阵列。存储器1130还可能被分块,并且所述块可按一定的规则组合成虚拟卷。
在一种可能的实施方式中,上述程序可为包括计算机操作指令的程序代码。该程序可用于:根据访问硬盘的多个输入输出IO请求的访问地址,将所述多个IO请求划分为至少一个IO顺序序列,其中,所述多个IO请求是按访问所述硬盘的时间顺序排列的,并且各所述IO顺序序列中包括至少一个所述IO请求;根据所述IO顺序序列中的所述IO请求的个数以及所述IO顺序序列的个数,计算所述硬盘的顺序度;以及在所述顺序度小于预定的第一阈值的情况下,按预定的调整策略调整所述硬盘的硬盘参数。
具体的实施方式可以参考图2所示的实施例,这里不再赘述。
在另一种可能的实施方式中,上述程序可为包括计算机操作指令的程序代码。该程序可用于:根据访问硬盘的多个输入输出IO请求的访问时间及返回时间,统计所述硬盘的运行时间及空闲时间;
根据所述硬盘的运行时间及空闲时间,计算所述硬盘的利用率;以及
当所述利用率大于预定的第二阈值时,按预定的调整策略调整所述硬盘的硬盘参数。
具体的实施方式可以参考图5所示的实施例,这里不再赘述。
本领域普通技术人员可以意识到,本文所描述的实施例中的各示例性单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件形式来实现,取决于技术方案的特定应用和设计约束条件。专业技术人员可以针对特定的应用选择不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
如果以计算机软件的形式来实现所述功能并作为独立的产品销售或使用时,则在一定程度上可认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产品通常存储在计算机可读取的存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (14)
1.一种硬盘参数调整方法,其特征在于,包括:
根据访问硬盘的多个输入输出IO请求的访问地址,将所述多个IO请求划分为至少一个IO顺序序列,其中,所述多个IO请求是按访问所述硬盘的时间顺序排列的,并且各所述IO顺序序列中包括至少一个所述IO请求;
根据所述IO顺序序列中的所述IO请求的个数以及所述IO顺序序列的个数,计算所述硬盘的顺序度;以及
在所述顺序度小于预定的第一阈值的情况下,按预定的调整策略调整所述硬盘的硬盘参数。
2.根据权利要求1所述的硬盘参数调整方法,其特征在于:
当所述IO顺序序列的个数大于1时,非最后一个IO顺序序列中的最后一个IO请求的访问地址大于其下一个IO顺序序列的第一个IO请求的访问地址,并且
当所述IO顺序序列包括至少两个IO请求时,非第一个的所述IO请求的访问地址不小于其前一IO请求的访问地址,并且非最后一个的所述IO请求的访问地址不大于其后一IO请求的访问地址。
3.根据权利要求1或2所述的硬盘参数调整方法,其特征在于,根据所述IO顺序序列中的所述IO请求的个数以及所述IO顺序序列的个数,计算所述硬盘的顺序度包括:
将各所述IO顺序序列的顺序IO计数相加,其中所述顺序IO计数等于所述IO顺序序列中的IO请求的个数减1;以及
计算所述顺序度,所述顺序度等于将所述相加的结果除以所述IO顺序序列的个数所得到的值。
4.一种硬盘参数调整方法,其特征在于,包括:
根据访问硬盘的多个输入输出IO请求的访问时间及返回时间,统计所述硬盘的运行时间及空闲时间;
根据所述硬盘的运行时间及空闲时间,计算所述硬盘的利用率;以及
当所述利用率大于预定的第二阈值时,按预定的调整策略调整所述硬盘的硬盘参数。
5.根据权利要求4所述的硬盘参数调整方法,其特征在于:所述运行时间为自第一个IO请求的访问时间起并且至最后一个IO请求的返回时间止的统计时间段的长度。
6.根据权利要求5所述的硬盘参数调整方法,其特征在于,所述统计所述空闲时间包括:
将计数器的初始值置为零;
自第一个IO请求开始,在每接收一个IO请求时使所述计数器加1,并在每返回一个IO请求时使所述计数器减1;以及
累计所述统计时间段内所述计数器为0的时间段的长度,并且所述空闲时间等于通过所述累计得到的值。
7.根据权利要求4至6中任一项所述的硬盘参数调整方法,其特征在于,根据所述硬盘的运行时间及空闲时间,计算所述硬盘的利用率包括:
计算寻道时间,所述寻道时间等于将所述运行时间减去所述空闲时间所得到的值;以及
计算所述利用率,所述利用率等于将所述寻道时间除以所述运行时间所得到的值。
8.一种硬盘参数调整装置,其特征在于,包括:
划分模块,用于根据访问硬盘的多个输入输出IO请求的访问地址,将所述多个IO请求划分为至少一个IO顺序序列,其中,所述多个IO请求是按访问所述硬盘的时间顺序排列的,并且各所述IO顺序序列中包括至少一个所述IO请求;
第一计算模块,用于根据所述IO顺序序列中的所述IO请求的个数以及所述IO顺序序列的个数,计算所述硬盘的顺序度;以及
第一调整模块,用于在所述顺序度小于预定的第一阈值的情况下,按预定的调整策略调整所述硬盘的硬盘参数。
9.根据权利要求8所述的硬盘参数调整装置,其特征在于:
当所述IO顺序序列的个数大于1时,非最后一个IO顺序序列中的最后一个IO请求的访问地址大于其下一个IO顺序序列的第一个IO请求的访问地址,并且
当所述IO顺序序列包括至少两个IO请求时,非第一个的所述IO请求的访问地址不小于其前一IO请求的访问地址,并且非最后一个的所述IO请求的访问地址不大于其后一IO请求的访问地址。
10.根据权利要求8或9所述的硬盘参数调整装置,其特征在于:
所述第一计算模块具体被配置为将各所述IO顺序序列的顺序IO计数相加,其中所述顺序IO计数等于所述IO顺序序列中的IO请求的个数减1;以及
计算所述顺序度,所述顺序度等于将所述相加的结果除以所述IO顺序序列的个数所得到的值。
11.一种硬盘参数调整装置,其特征在于,包括:
统计模块,用于根据访问硬盘的多个输入输出IO请求的访问时间及返回时间,统计所述硬盘的运行时间及空闲时间;
第二计算模块,用于根据所述硬盘的运行时间及空闲时间,计算所述硬盘的利用率;以及
第二调整模块,用于当所述利用率大于预定的第二阈值时,按预定的调整策略调整所述硬盘的硬盘参数。
12.根据权利要求11所述的硬盘参数调整装置,其特征在于:所述运行时间为自第一个IO请求的访问时间起并且至最后一个IO请求的返回时间止的统计时间段的长度。
13.根据权利要求12所述的硬盘参数调整装置,其特征在于:所述统计模块被配置为,
将计数器的初始值置为零;
自第一个IO请求开始,在每接收一个IO请求时使所述计数器加1,并在每返回一个IO请求时使所述计数器减1;以及
累计所述统计时间段内所述计数器为0的时间段的长度,并且所述空闲时间等于通过所述累计得到的值。
14.根据权利要求11至13中任一项所述的硬盘参数调整装置,其特征在于:所述第二计算模块被配置为,
计算寻道时间,所述寻道时间等于将所述运行时间减去所述空闲时间所得到的值;以及
计算所述利用率,所述利用率等于将所述寻道时间除以所述运行时间所得到的值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310452046.2A CN103500143B (zh) | 2013-09-27 | 2013-09-27 | 硬盘参数调整方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310452046.2A CN103500143B (zh) | 2013-09-27 | 2013-09-27 | 硬盘参数调整方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103500143A true CN103500143A (zh) | 2014-01-08 |
CN103500143B CN103500143B (zh) | 2016-08-10 |
Family
ID=49865357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310452046.2A Active CN103500143B (zh) | 2013-09-27 | 2013-09-27 | 硬盘参数调整方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103500143B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123098A (zh) * | 2013-04-23 | 2014-10-29 | 华为技术有限公司 | 一种数据处理的方法和设备 |
CN106293917A (zh) * | 2016-08-09 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种IO调度cfq算法的优化方法及系统 |
CN107678927A (zh) * | 2017-10-31 | 2018-02-09 | 郑州云海信息技术有限公司 | 分配硬盘io方法、装置、设备及计算机可读存储介质 |
CN110046082A (zh) * | 2019-04-15 | 2019-07-23 | 苏州浪潮智能科技有限公司 | 一种io特征信息处理方法、获取方法及相关装置 |
CN110135297A (zh) * | 2019-04-30 | 2019-08-16 | 武汉科技大学 | 一种反馈随机森林-压缩感知的脉冲星辨识方法 |
CN110349605A (zh) * | 2015-09-04 | 2019-10-18 | 慧荣科技股份有限公司 | 通道控制装置 |
CN112328453A (zh) * | 2020-11-10 | 2021-02-05 | 星辰天合(北京)数据科技有限公司 | 基于软件定义存储的磁盘状态分析方法及装置、电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060106926A1 (en) * | 2003-08-19 | 2006-05-18 | Fujitsu Limited | System and program for detecting disk array device bottlenecks |
CN101533366A (zh) * | 2009-03-09 | 2009-09-16 | 浪潮电子信息产业股份有限公司 | 一种服务器性能数据采集与分析的方法 |
CN103116538A (zh) * | 2013-01-25 | 2013-05-22 | 浪潮电子信息产业股份有限公司 | 一种用于计算机性能自调系统的设计 |
CN103268204A (zh) * | 2013-06-08 | 2013-08-28 | 北京百度网讯科技有限公司 | 固态硬盘的调优方法及装置 |
-
2013
- 2013-09-27 CN CN201310452046.2A patent/CN103500143B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060106926A1 (en) * | 2003-08-19 | 2006-05-18 | Fujitsu Limited | System and program for detecting disk array device bottlenecks |
CN101533366A (zh) * | 2009-03-09 | 2009-09-16 | 浪潮电子信息产业股份有限公司 | 一种服务器性能数据采集与分析的方法 |
CN103116538A (zh) * | 2013-01-25 | 2013-05-22 | 浪潮电子信息产业股份有限公司 | 一种用于计算机性能自调系统的设计 |
CN103268204A (zh) * | 2013-06-08 | 2013-08-28 | 北京百度网讯科技有限公司 | 固态硬盘的调优方法及装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123098A (zh) * | 2013-04-23 | 2014-10-29 | 华为技术有限公司 | 一种数据处理的方法和设备 |
CN104123098B (zh) * | 2013-04-23 | 2018-09-21 | 华为技术有限公司 | 一种数据处理的方法和设备 |
CN110349605A (zh) * | 2015-09-04 | 2019-10-18 | 慧荣科技股份有限公司 | 通道控制装置 |
CN110349605B (zh) * | 2015-09-04 | 2021-01-26 | 慧荣科技股份有限公司 | 通道控制装置 |
CN106293917A (zh) * | 2016-08-09 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种IO调度cfq算法的优化方法及系统 |
CN107678927A (zh) * | 2017-10-31 | 2018-02-09 | 郑州云海信息技术有限公司 | 分配硬盘io方法、装置、设备及计算机可读存储介质 |
CN110046082A (zh) * | 2019-04-15 | 2019-07-23 | 苏州浪潮智能科技有限公司 | 一种io特征信息处理方法、获取方法及相关装置 |
CN110135297A (zh) * | 2019-04-30 | 2019-08-16 | 武汉科技大学 | 一种反馈随机森林-压缩感知的脉冲星辨识方法 |
CN112328453A (zh) * | 2020-11-10 | 2021-02-05 | 星辰天合(北京)数据科技有限公司 | 基于软件定义存储的磁盘状态分析方法及装置、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103500143B (zh) | 2016-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103500143A (zh) | 硬盘参数调整方法及装置 | |
US20180157438A1 (en) | Slow-disk detection method and apparatus | |
CN103019887B (zh) | 数据备份方法及装置 | |
US9612751B2 (en) | Provisioning advisor | |
US20190196738A1 (en) | Data migration method for a storage system after expansion and storage system | |
US10044371B2 (en) | Systems and methods for repair rate control for large erasure coded data storage | |
CN110737401B (zh) | 用于管理独立冗余磁盘阵列的方法、设备和计算机程序产品 | |
CN106990926A (zh) | 一种固态硬盘磨损均衡的处理方法 | |
CN111078439A (zh) | 一种固态硬盘寿命预测方法和装置 | |
CN113568740B (zh) | 基于联邦学习的模型聚合方法、系统、设备及介质 | |
CN104346286B (zh) | 数据储存装置以及快闪存储器控制方法 | |
US20160055186A1 (en) | Apparatus and method for optimizing time series data storage based upon prioritization | |
CN104820663A (zh) | 发现低性能的sql语句以及预测sql语句性能的方法和装置 | |
CN109710177A (zh) | 用于嵌入式系统的事件管理 | |
CN110007870A (zh) | 一种存储设备写请求处理方法及相关装置 | |
CN104881477A (zh) | 一种应用数据空间使用估算方法 | |
CN108984104A (zh) | 用于缓存管理的方法和设备 | |
CN104077081A (zh) | 一种存储方法及装置 | |
CN114819648A (zh) | 基于区块链的碳排放管控方法、装置、电子设备和介质 | |
CN105139227A (zh) | 一种数据计算方法及装置 | |
CN105242955A (zh) | 一种虚拟机磁盘输入输出调度方法及系统 | |
CN109271293A (zh) | 一种硬盘数据的读取方法、装置及相关设备 | |
CN112181274B (zh) | 提升存储设备性能稳定性的大块的组织方法及其存储设备 | |
US20160253591A1 (en) | Method and apparatus for managing performance of database | |
CN105224475A (zh) | 用于调整存储装置的分配的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |