一种最佳数据块大小确定方法及装置技术领域
本发明涉及领域存储性能测试技术领域,特别是涉及一种最佳数据
块大小确定方法及装置。
背景技术
随着计算机的和信息网络的发展,分布式文件系统尤其是大规模的
分布式文件系统得到了广泛的应用。为了更好的了解不同的文件系统的
优势和不足,可以通过测试来得到衡量其性能的指标。
现有技术中常用的测试工具为IOmeter,其能够有效的测得文件系
统的存储性能。
然而,目前测试工具在对存储性能进行测试时,都需要人为设置固
定的测试参数,如果要测试某项性能的最优值,只能设置多次进行测试,
然后人工分析测试结果。虽然有些测试软件能够进行自动化测试,支持
设置多次测试的多个参数,但无法在测试过程中灵活调整测试参数来获
得最优测试结果。
例如,在使用IOmeter对存储性能进行测试时,测试过程中,需要
设置大量的数据块大小进行全覆盖的存储性能测试,使用该方法测试
时,由于无法在测试过程中设置最佳数据块大小将导致存储测试性能准
确性较低,测试效率不高的问题,无法正确反映存储设备的性能。
发明内容
本发明主要解决的技术问题是提供一种最佳数据块大小确定方法
及装置,用于解决现有技术中无法对数据块大小进行调节得到最佳数据
块大小带来的测试效率低就测试结果不佳等问题。
为解决上述技术问题,本发明提供一种最佳数据块大小确定方法,
包括:
向存储设备发送第i数据块,i为正整数且初始值为1,且第1数据
块的大小为第一预设值;
在所述存储设备对接收到的第i数据块进行处理得到待存储的存储
数据块后,捕获所述存储数据块;
若所述第i数据块的大小与所述存储数据块的大小相同,则确定第
i+1数据块的大小为第i数据块的大小与第二预设值之间的和,且令
i=i+1,返回执行所述向所述存储设备发送第i数据块的步骤;
若所述第i数据块的大小与所述存储数据块的大小不同,则根据所
述第i数据块的大小确定最佳数据块大小。
为解决上述技术问题,本发明还提供一种最佳数据块大小确定装
置,包括:
发送模块,用于向存储设备发送第i数据块,i为正整数且初始值为
1,且第1数据块的大小为第一预设值;
捕获模块,用于在所述存储设备对接收到的第i数据块进行处理得
到待存储的存储数据块后,捕获所述存储数据块;
返回模块,用于若所述第i数据块的大小与所述存储数据块的大小
相同,则确定第i+1数据块的大小为第i数据块的大小与第二预设值之
间的和,且令i=i+1,返回执行所述向所述存储设备发送第i数据块的步
骤;
确定模块,用于若所述第i数据块的大小与所述存储数据块的大小
不同,则根据所述第i数据块的大小确定最佳数据块大小。
本发明的有益效果是:区别于现有技术的情况,本发明中的最佳数
据块大小确定装置向存储设备发送第i数据块,该i为正整数且初始值
为1,且第1数据块的大小与第一预设值,在存储设备对接收到的第i
数据块进行处理得到待存储的存储数据块之后,装置捕获该存储数据
块,若该第i数据块的大小与存储数据块的大小相同,则确定第i+1数
据块的大小为第i数据块的大小与第二预设值之间的和,且令i=i+1,返
回执行向存储设备发送第i数据块的步骤,使得能够通过比较大小逐步
提高发送的第i数据块的大小方式,让该第i数据块的大小逐渐接近最
佳数据块大小,直至第i数据块的大小与存储数据块的大小时,根据该
第i数据块的大小确定最佳数据块大小,使得在按照该最佳数据块大小
向存储设备发送数据块进行存储性能测试时,能够有效的提高测试效
率,得到更能准确反映存储设备的最优性能的测试结果。
附图说明
图1是本发明实施方式中最佳数据块大小的确定方法的流程图;
图2是本发明实施方式中最佳数据块大小的确定方法的示意图;
图3是本发明实施方式中最佳数据块大小的确定装置的示意图;
图4是本发明实施方式中最佳数据块大小的确定装置的示意图。
具体实施方式
请参阅图1,图1为本发明实施例中最佳数据块大小确定方法的实
施例,包括:
步骤101:向存储设备发送第i数据块,i为正整数,且第1数据块
的大小为第一预设值;
在本发明实施例中,最佳数据块大小确定装置(以下简称装置)能
够对挂载的存储设备的最佳数据块大小进行测试,使得可以使用存储设
备的最佳数据块大小对存储设备的存储性能进行测试,使得测试结果更
加准确有效,且能够节约测试时间,提高测试效率。
在本发明实施例中,装置将启动待测试存储设备的最佳数据块大小
测试,向该存储设备发送第i数据块,其中,i为正整数,i的初始值为
1,且第1数据块的大小为第一预设值。
其中,装置在未改变第i数据块的大小之前,都将按照该第i数据
块的数据块大小进行数据发送,i的数值的变化表示了第i数据块的数据
大小的变化,而不对发送的数据块的任何参数造成限定。
其中,该待测试的存储设备上加载了分布式文件系统,装置对存储
设备的存储性能测试即是对存储设备上加载的分布式文件系统的存储
性能的测试。
其中,该存储设备的前端接口可以为iSCSI接口。
步骤102:在存储设备对接收到的第i数据块进行处理得到待存储
的存储数据块后,捕获存储数据块;
步骤103:若第i数据块的大小与存储数据块的大小相同,则确定
第i+1数据块的大小为第i数据块的大小与第二预设值之间的和,且令
i=i+1,返回执行步骤101;
步骤104:若第i数据块的大小与存储数据块的大小不同,则根据
第i数据块的大小确定最佳数据块大小。
在本发明实施例中,存储设备在接收到第i数据块之后,将对第i
数据块进行处理得到待存储的存储数据块,并将该存储数据块进行排列
以等待存储。
在本发明实施例中,装置在存储设备对接收到的第i数据块进行处
理得到待存储的存储数据块后,将进行数据捕获,以捕获该存储数据块。
且装置还将比较发送的第i数据块的大小与捕获的该存储数据块的大
小,并根据比较结果确定接下来向存储设备发送的数据块的大小。
其中,若第i数据块的大小与存储数据块的大小相同,则确定第i+1
数据块的大小为第i数据块的大小与第二预设值之间的和,并令i=i+1,
返回执行步骤101中的向存储设备发送第i数据块的步骤。即在第i数
据块的大小与存储数据块的大小相同的情况下,装置将增加向存储设备
发送的数据块的大小,以使得发送的数据块的大小尽量接近最佳数据块
大小。
其中,若第i数据块的大小与存储数据块的大小不同,则根据第i
数据块的大小确定最佳数据块大小。
需要说明的是,在本发明实施例中,存储设备在接收第i数据块之
后,将对第i数据块进行解析,若该第i数据块的大小小于或等于存储
设备所设置的最小块大小,则可直接将第i数据块作为存储数据块进行
存储,若第i数据块的大小大于存储设备所设置的最小块大小,则需要
对第i数据块进行解包操作,对第i数据块按照存储设备设置的最小块
大小进行划分,以得到存储数据块。
需要说明的是,对第i数据块进行解包操作之后,得到的存储数据
块的大小是大于该第i数据块的大小的,且又因为需要对第i数据块进
行解包操作的原因是第i数据块的大小大于存储设备所设置的最小块大
小,基于上述原理,装置能够通过对第i数据块的大小与存储数据块大
的大小的比较以确定尽量与存储设备所设置的最小块大小接近的最佳
数据块大小。且最佳数据块大小与存储设备的最小块大小越接近则能够
越快的完成数据存储的性能检测,效率高,且存储性能检测得到的检测
结果更加准确有效,降低数据块大小对测试结果的影响。
区别于现有技术,在本发明实施例中,装置在向存储设备发送第i
数据块之后,通过捕获存储设备的存储数据块,并与其发送的第i数据
块的大小进行比较,当第i数据块的大小等于存储数据块的大小时则装
置将增加向存储设备发送的第i数据块的大小,当第i数据块的大小与
存储数据块的大小不同时,则根据第i数据块的大小确定最佳数据块大
小,通过确定最佳数据块大小,使用利用该最佳数据块大小发送数据块
能够有效提高对存储设备的存储性能测试的效率,且准确反映该存储设
备的最优性能。
在另一实施例中,将更加详细的描述最佳数据块大小确定方法的技
术方案,请参阅图2,为本发明实施例中最佳数据块大小确定方法的实
施例,包括:
步骤201、向存储设备发送第i数据块,i为正整数,且第1数据块
的大小为第一预设值;
在本发明实施例中,步骤201与图1所示实施例中的步骤101中描
述的内容相似,此处不再赘述。
步骤202、在存储设备对接收到的第i数据块进行处理得到待存储
的存储数据块后,捕获存储数据块;
步骤203、若第i数据块的大小与存储数据块的大小相同,则确定
第i+1数据块的大小为第i数据块的大小与第二预设值之间的和,且令
i=i+1,返回执行步骤201;
在本发明实施例中,存储设备在接收到第i数据块之后,将对第i
数据块进行处理得到待存储的存储数据块,并将该存储数据块进行排列
以等待存储。
在本发明实施例中,装置在存储设备对接收到的第i数据块进行处
理得到待存储的存储数据块后,将进行数据捕获,以捕获该存储数据块。
且装置还将比较发送的第i数据块的大小与捕获的该存储数据块的大
小,并根据比较结果确定接下来向存储设备发送的数据块的大小。
其中,若第i数据块的大小与存储数据块的大小相同,则确定第i+1
数据块的大小为第i数据块的大小与第二预设值之间的和,并令i=i+1,
返回执行步骤201中的向存储设备发送第i数据块的步骤。即在第i数
据块的大小与存储数据块的大小相同的情况下,装置将增加向存储设备
发送的数据块的大小,以使得发送的数据块的大小尽量接近最佳数据块
大小。
步骤204、若第i数据块的大小小于存储数据块的大小,判断第i
数据块的时延是否满足预先设置的条件;
步骤205、若满足,则确定最佳数据块大小,最佳数据块大小等于
第i数据块的大小减去第二预设值。
在本发明实施例中,若第i数据块的大小小于存储数据块的大小,
则装置将进一步判断第i数据块的时延是否满足预先设置的条件,其中,
时延是指:存储设备接收到第i数据块的时间与存储设备将第i数据块
处理得到存储数据块的时间之间的差值。且若第i数据块的时延满足预
先设置的条件,则确定最佳数据块大小,该最佳数据块大小等于第i数
据块的大小减去第二预设值。
需要说明的是,在本发明实施例中,若第i数据块的大小小于存储
数据块的大小,则说明存储设备在接收到第i数据块之后,确定该第i
数据块的大小大于存储设备所设置的最小块大小,存储设备会对第i数
据块进行解包操作,由于存储设备对第i数据块进行解包操作会消耗一
定的时间,因此,可以根据第i数据块的时延进一步确定发送的第i数
据块的大小是否已经接近了存储设备所设置的最小块大小,若是,则可
确定最佳数据块大小,以避免在比较第i数据块的大小与存储数据块的
大小出现误差的情况导致确定的最佳数据块大小不准确的问题,使得确
定的最佳数据块大小更加准确。
在本发明实施例中,装置判断第i数据块的时延是否满足预先设置
的条件,具体包括:装置计算第i数据块的时延与第i-1数据块的时延之
间的差值,且若该差值大于预先设置的时间值,则确定第i数据块的时
延满足预先设置的条件。
其中,该预先设置的条件即为第i数据块的时延与第i-1数据块的时
延之间的差值大于预先设置的时间值。其中,装置在捕获存储数据块之
后,可以从该存储数据块中获取存储设备接收到该存储数据块对应的第
i数据块的时间,及该存储数据块生成的时间,因此,装置能够获取该
存储数据块对应的第i数据块的时延。
需要说明的是,在本发明实施例中,是预先设置一个较小的数据块
大小,即第一预设值,并按照该第一预设值向存储设备发送数据块,并
通过比较发送的数据块大小及存储设备存储的数据块大小来对装置发
送的数据块大小进行调节,以确定一个最佳数据块大小,且装置能够获
得并保存其发送的不同大小的数据块的参数及捕获的不同大小的数据
块的时延。
在本发明实施例中,若第i数据块的时延与第i-1数据块的时延之间
的差值大于预先设置的时间值,则说明装置发送的第i数据块的时延发
生了较大的变化,而其发生变化的原因就是存储设备需要对第i数据块
进行解包操作,因此可以进一步证明第i数据块的大小大于存储设备所
设置的最小块大小,通过上述的判断能够提高得到的最佳数据块大小的
准确性。
在本发明实施例中,该装置可以是存储性能测试装置也可以仅仅是
存储性能测试装置的一部分,该装置在确定待测试的存储设备的最佳数
据块大小之后,可以进一步地按照该最佳数据块大小向存储设备发送数
据块,以实现在最佳数据块大小的情况下对存储设备的存储性能进行测
试,使得能够得到更能反映存储设备存储性能的测试结果。
需要说明的是,在本发明实施例中,第一预设值为装置预先设置的
发送的第i数据块的初始值,即第1数据块的大小,该第一预设值一般
较小,使得能够通过逐步增加第i数据块的大小的方式确定存储设备的
最佳数据块大小。
此外,第二预设值为装置发送给存储设备的数据块大小每次递增的
数值,需要说明的是,该第二预设值可以是一个固定的数值,也可以是
一个数值的集合,例如,可以设置装置发送给存储设备的数据块的大小
在前五次递增时每次递增x,第六次至第十次递增每次递增y,第十次
至第十五次递增每次递增z,等等依次类推,且可设置x>y>z。在实际
应用中可根据具体的情况设置第二预设值,此处不做限定。
本发明中的最佳数据块大小确定装置向存储设备发送第i数据块,
该i为正整数且初始值为1,且第1数据块的大小等于第一预设值,在
存储设备对接收到的第i数据块进行处理得到待存储的存储数据块之
后,装置捕获该存储数据块,若该第i数据块的大小与存储数据块的大
小相同,则确定第i+1数据块的大小为第i数据块的大小与第二预设值
之间的和,且令i=i+1,返回执行向存储设备发送第i数据块的步骤,使
得能够通过比较大小逐步提高发送的第i数据块的大小,使得该第i数
据块的大小逐渐接近最佳数据块大小,若第i数据块的大小与存储数据
块的大小相同,则根据该第i数据块的大小确定最佳数据块大小,通过
确定最佳数据块大小,使得在按照该最佳数据块大小向存储设备发送数
据块进行存储性能测试时,能够有效的提高测试效率,得到更能准确反
映存储设备的最优性能的测试结果。此外,装置还可以进一步的通过第
i数据块的时延与第i-1数据块的时延来确定该最佳数据块大小是否准
确,能够有效的确保得到的最佳数据块大小的准确性。
请参阅图3,为本发明实施例中一种最佳数据块大小确定装置的结
构的实施例,,包括:
发送模块301,用于向所述存储设备发送第i数据块,i为正整数且
初始值为1,且第1数据块的大小为第一预设值;
捕获模块302,用于在所述存储设备对接收到的第i数据块进行处
理得到待存储的存储数据块后,捕获所述存储数据块;
返回模块303,用于若所述第i数据块的大小与所述存储数据块的
大小相同,则确定第i+1数据块的大小为第i数据块的大小与第二预设
值之间的和,且令i=i+1,返回执行所述发送模块301;
确定模块304,用于若所述第i数据块的大小与所述存储数据块的
大小不同,则根据所述第i数据块的大小确定最佳数据块大小。
在本发明实施例中最佳数据块大小确定装置的发送模块301向存储
设别发送第i数据块,该i为正整数且初始值为1,且第1数据块的大小
为第一预设值,接着捕获模块302在存储设备对接收到的第i数据块进
行处理得到待存储的存储数据块后,捕获该存储数据块,若该第i数据
块的大小与存储数据块的大小相同,则返回模块303确定第i+1数据块
的大小为第i数据块的大小与第二预设值之间的和,且令i=i+1,返回发
送模块301,由发送模块301继续发送第i数据块。若第i数据块的大小
与存储数据块的大小不同,则确定模块304根据第i数据块的大小确定
最佳数据块大小。通过上述方式,能够有效确定最佳数据块大小,使得
利用最佳数据块大小发送数据块能够有效提高存储设备的存储性能测
试的效率,且能够得到更加准确的反映存储设备的存储性能的测试结
果。
为了更好的理解本发明实施例中的装置,请参阅图4,为本发明实
施例中的最佳数据块大小确定装置的结构的另一实施例,包括:如图3
所示实施例中描述的发送模块301、捕获模块302、返回模块303及确
定模块304,且与图3所示实施例中描述的技术内容相似,此处不做赘
述。
在本发明实施例中,确定模块304具体用于:若所述第i数据块的
大小小于所述存储数据块的大小,则确定最佳数据块大小,所述最佳数
据块大小等于所述第i数据块的大小减去所述第二预设值。
或者,在本发明实施例中,确定模块304具体包括:
判断模块401,用于若所述第i数据块的大小小于所述存储数据块
的大小,则判断所述第i数据块的时延是否满足预先设置的条件,所述
时延是指:所述存储设备接收到所述第i数据块的时间与所述存储设备
将所述第i数据块处理得到所述存储数据块的时间之间的时间差;
第一确定模块402,用于若满足,则根据所述第i数据块的大小确
定最佳数据块大小。
在本发明实施例中,判断模块401具体包括:
计算模块403,用于计算所述第i数据块的时延与第i-1数据块的时
延之间的差值;
第二确定模块404,用于若所述差值大于预先设置的时间值,则确
定所述第i数据块的时延满足预先设置的条件。
在本发明实施例中,发送模块401还用于:
按照所述最佳数据块大小向所述存储设备发送数据块,以实现对所
述存储设备的存储性能测试。
在本发明实施例中最佳数据块大小确定装置的发送模块301向存储
设备发送第i数据块,该i为正整数且初始值为1,且第1数据块的大小
为第一预设值,接着捕获模块302在存储设备对接收到的第i数据块进
行处理得到待存储的存储数据块后,捕获该存储数据块,若该第i数据
块的大小与存储数据块的大小相同,则返回模块303确定第i+1数据块
的大小为第i数据块的大小与第二预设值之间的和,且令i=i+1,返回发
送模块301,由发送模块301继续发送第i数据块。若第i数据块的大小
与存储数据块的大小不同,则确定模块304根据第i数据块的大小确定
最佳数据块大小。具体的,确定模块304是在第i数据块的大小小于存
储数据块的大小,则确定最佳数据块大小,该最佳数据块大小等于第i
数据块的大小减去该第二预设值,进一步的,为了更好的确定最佳数据
块大小,若第i数据块的大小小于存储数据块的大小,则确定模块304
中的判断模块401判断第i数据块的时延是否满足预先设置的条件,该
时延是指存储设备接收到第i数据块的时间与存储设备将第i数据块处
理得到存储数据块的时间之间的时间差,若满足,则确定模块304中的
第一确定模块402根据第i数据块的大小确定最佳数据块大小。
其中,判断模块401是按照如下的方式进行判断过程的:计算模块
403计算第i数据块的时延与第i-1数据块的时延之间的差值,若该差值
大于预先设置的时间值,则第二确定模块404确定第i数据块的时延满
足预先设置的条件。
通过上述方式,能够有效确定最佳数据块大小,使得利用最佳数据
块大小发送数据块能够有效提高存储设备的存储性能测试的效率,且能
够得到更加准确的反映存储设备的存储性能的测试结果。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范
围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变
换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的
专利保护范围内。