本发明涉及存储设备领域,特别涉及一种固态硬盘性能测试方法、系统、装置及计算机可读存储介质。
背景技术:
随着信息技术的高速发展,数据呈爆炸式的增长,已经问世多年的AHCI/SATA硬盘(AHCI,Serial ATA Advanced Host Controller Interface,串行ATA高级主控接口/高级主机控制器接口,SATA,Serial ATA,串口硬盘)在性能上及传输速度上渐渐力不从心,为了充分挖掘PCIe接口(PCIe,peripheral component interconnect express)的性能,Intel联合多家公司开发制订了NVMe标准(NVMe,Non-Volatile Memory express),NVMe SSD(SSD,Solid State Disk,固态硬盘)比SATA SSD读写性能提高将近6倍。
但现有技术中,仍无法有效验证固态硬盘在读写期间能够利用空闲时刻提高读写性能,从而使本领域技术人员无法依靠准确的数据指定固态硬盘的读写工作方式,无法发挥固态硬盘的最大效率。
为此,需要一种固态硬盘的测试方式,能够验证固态硬盘在读写期间,是否能够利用空闲时刻提高读写性能,以使本领域技术人员能够利用测试结果制定固态硬盘的读写工作方式,提高固态硬盘的工作效率。
技术实现要素:
有鉴于此,本发明的目的在于提供一种固态硬盘性能测试方法、系统、装置及计算机可读存储介质,用于验证固态硬盘在读写期间,是否能够利用空闲时刻提高读写性能,以利用测试结果制定固态硬盘的读写工作方式,提高固态硬盘的工作效率。其具体方案如下:
一种固态硬盘性能测试方法,包括:
S11:按照预设的第一写入时间向待测固态硬盘随机写入预设的目标大小的测试数据;其中,所述待测固态硬盘为经过初始化操作,存储数据为空的硬盘;
S12:间隔预设的时间阈值后,返回S11,直至达到预设的第一迭代阈值;
S13:按照预设的第二写入时间向所述待测固态硬盘随机写入所述目标大小的测试数据;
S14:记录所述待测固态硬盘执行S11和S13期间的性能参数,利用所述性能参数构建性能基线;
S15:调整所述时间阈值,间隔预设的阶段时间阈值后,返回S11,直至满足第二迭代阈值,得到多个所述待测固态硬盘的性能基线;
S16:利用多个性能基线,生成测试报告。
可选的,所述记录所述待测固态硬盘执行S11和S13期间的性能参数的过程,包括:
记录所述待测固态硬盘执行S11和S13期间,满足最大带宽与最小带宽之差小于等于平均带宽的20%和带宽斜率小于所述平均带宽的10%时的性能参数。
可选的,所述记录所述待测固态硬盘执行S11和S13期间的性能参数,利用所述性能参数构建性能基线的过程,包括:
记录所述待测固态硬盘执行S11和S13期间的包括IOPS、平均响应时间和最大响应时间的所述性能参数,利用所述性能参数构建性能基线。
可选的,所述第一写入时间为5秒,测试数据的所述目标大小为4KB,所述第一迭代阈值为360次,所述第二迭代阈值为4次,时间阈值初始为5秒,第一次迭代调整后为10秒,第二次迭代调整后为15秒,第三次迭代调整后为25秒,第四次迭代调整后为50秒,所述第二写入时间为1800秒,所述阶段时间阈值等于调整后的时间阈值。
本发明还公开了一种固态硬盘性能测试系统,包括:
间断写入模块,用于按照预设的第一写入时间向待测固态硬盘随机写入预设的目标大小的测试数据;其中,所述待测固态硬盘为经过初始化操作,存储数据为空的硬盘;
中断模块,用于间隔预设的时间阈值后,重新调用所述间断写入模块,直至达到预设的第一迭代阈值;
持续写入模块,用于按照预设的第二写入时间向所述待测固态硬盘随机写入所述目标大小的测试数据;
基线构建模块,用于记录所述间断写入模块和所述持续写入模块运行期间所述待测固态硬盘的性能参数,利用所述性能参数构建性能基线;
时间调整模块,用于调整所述时间阈值,重新调用所述间断写入模块,直至满足第二迭代阈值,得到多个所述待测固态硬盘的性能基线;
报告生成模块,用于利用多个性能基线,生成测试报告。
可选的,所述基线构建模块,具体用于记录所述待测固态硬盘执行S11和S13期间,满足最大带宽与最小带宽之差小于等于平均带宽的20%和带宽斜率小于所述平均带宽的10%时的性能参数。
可选的,所述基线构建模块,具体用于记录所述间断写入模块和所述持续写入模块运行期间所述待测固态硬盘包括IOPS、平均响应时间和最大响应时间的性能参数,利用所述性能参数构建性能基线。
本发明还公开了一种固态硬盘性能测试装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如前述的固态硬盘性能测试装置。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述固态硬盘性能测试方法的步骤。
本发明中,固态硬盘性能测试方法,包括:S11:按照预设的第一写入时间向待测固态硬盘随机写入预设的目标大小的测试数据;其中,待测固态硬盘为经过初始化操作,存储数据为空的硬盘;S12:间隔预设的时间阈值后,返回S11,直至达到预设的第一迭代阈值;S13:按照预设的第二写入时间向待测固态硬盘随机写入目标大小的测试数据;S14:记录待测固态硬盘执行S11和S13期间的性能参数,利用性能参数构建性能基线;S15:调整时间阈值,间隔预设的阶段时间阈值后,返回S11,直至满足第二迭代阈值,得到多个待测固态硬盘的性能基线;S16:利用多个性能基线,生成测试报告。
本发明对经过初始化操作,存储数据为空的待测固态硬盘首先重复进行间断式写入,按照预设的第一写入时间向待测固态硬盘随机写入预设的目标大小的测试数据,间隔预设的时间阈值后,再次写入,直至达到预设的第一迭代阈值,获取到待测固态硬盘间断式写入时的性能参数,再按照预设的第二写入时间向待测固态硬盘随机写入目标大小的测试数据,获取持续写入待测固态硬盘时的性能参数,利用两种写入方式时的性能参数生成与当前时间阈值对应的性能基线,再不断调整固态硬盘空闲时间的时间阈值,间隔预设的阶段时间阈值后,进入不同的测试阶段,得到不同的性能基线,进而生成测试报告,利用测试报告可以验证固态硬盘空闲时间对性能的影响,用户可以根据不同空闲时间固态硬盘的性能选择最优的固态硬盘读写方式,提高固态硬盘的运行效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种固态硬盘主机性能测试方法流程示意图;
图2为本发明实施例公开的一种性能基线示意图;
图3为本发明实施例公开的一种阶段性能基线示意图;
图4为本发明实施例公开的一种固态硬盘主机性能测试系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种固态硬盘主机性能测试方法,参见图1所示,该方法包括:
S11:按照预设的第一写入时间向待测固态硬盘随机写入预设的目标大小的测试数据;其中,待测固态硬盘为经过初始化操作,存储数据为空的硬盘;
S12:间隔预设的时间阈值后,返回S11,直至达到预设的第一迭代阈值。
其中,待测固态硬盘需为经过初始化操作的硬盘,例如,经过安全擦除或低级格式化等操作,以确保待测固态硬盘中没有残存的数据,避免硬盘上多余的数据对测试结果造成影响。
具体的,硬盘的性能好坏主要体现在硬盘的读写性能,为此,按照预设的第一写入时间向待测固态硬盘随机写入预设的目标大小的测试数据,以让固态硬盘进行写操作,可以获得期间硬盘的写入性能参数,在预设的第一写入时间结束后,中断预设的时间阈值,以供固态硬盘的后台进程对固态硬盘进行优化,例如,固态硬盘的后台进程运行垃圾回收进程等,中断时间超过预设的时间阈值后,则返回S11,重新进行随机写入,不断重复步骤S11和S12,以记录间断式写入数据时,待测固态硬盘的性能数据,直至达到预设的第一迭代阈值,结束迭代,进入S13。
S13:按照预设的第二写入时间向待测固态硬盘随机写入目标大小的测试数据。
具体的,为与S11和S12的间断式写入数据方式与持续对待测固态硬盘写入数据进行对比,因此,在结束S11和S12的迭代后,按照预设的第二写入时间持续向待测固态硬盘随机写入与S11中相同大小的测试数据,在持续写入期间待测固态硬盘的性能参数便可作为间断式写入数据方式的对比数据。
S14:记录待测固态硬盘执行S11和S13期间的性能参数,利用性能参数构建性能基线。
可以理解的是,S12为空闲时间,没有对待测固态硬盘写入数据,因此,无需记录空闲时间器件的待测固态硬盘的性能参数,在S11和S13期间,持续执行S14,以时刻记录待测固态硬盘的性能参数,以利用性能参数构建性能基线,性能基线参见图2所示。
S15:调整时间阈值,间隔预设的阶段时间阈值后,返回S11,直至满足第二迭代阈值,得到多个待测固态硬盘的性能基线。
具体的,在完成一次S11至S14后,重新调整S12中的时间阈值,改变待测固态硬盘下一次的中断时间即空闲时间,例如,初始时间阈值为5秒,下一次时间阈值便可以为10秒,调整完成后,将新的时间阈值带回S12中,间隔预设的阶段时间阈值后,以区分不同测试阶段,再重新执行S11至S14,直至满足第二迭代阈值,进而能够得到待测固态硬盘的多个不同时间阈值下的性能基线。
其中,为缩短测试时间也可将阶段时间阈值缩短至0。
S16:利用多个性能基线,生成测试报告。
具体的,综合多个性能基线便可生成测试报告,利用测试报告,用户可以判断固态硬盘利用无读写操作的空闲时间对性能的影响,并根据不同的时间阈值对应的性能基线,可以选择出最佳的固态硬盘读写方式。
可见,本发明实施例对经过初始化操作,存储数据为空的待测固态硬盘首先重复进行间断式写入,按照预设的第一写入时间向待测固态硬盘随机写入预设的目标大小的测试数据,间隔预设的时间阈值后,再次写入,直至达到预设的第一迭代阈值,获取到待测固态硬盘间断式写入时的性能参数,再按照预设的第二写入时间向待测固态硬盘随机写入目标大小的测试数据,获取持续写入待测固态硬盘时的性能参数,利用两种写入方式时的性能参数生成与当前时间阈值对应的性能基线,再不断调整固态硬盘空闲时间的时间阈值,间隔预设的阶段时间阈值后,进入不同的测试阶段,得到不同的性能基线,进而生成测试报告,利用测试报告可以验证固态硬盘空闲时间对性能的影响,用户可以根据不同空闲时间固态硬盘的性能选择最优的固态硬盘读写方式,提高固态硬盘的运行效率。
进一步的,参见图3所示,固态硬盘在性能方面会经历3个阶段分别是FOB阶段、过渡阶段和稳态阶段,其中,稳态阶段的性能才是固态硬盘正常性能的反映,初始阶段的高性能不能代表盘的正常性能,所以在测试固态硬盘的性能参数时,应选用固态硬盘运行在稳态下的性能参数,在此定义固态硬盘运行时达到稳态的条件为同时满足最大带宽与最小带宽之差小于等于平均带宽的20%和带宽斜率小于所述平均带宽的10%,因此,记录待测固态硬盘的性能参数具体过程为记录所述待测固态硬盘执行S11和S13期间,满足最大带宽与最小带宽之差小于等于平均带宽的20%和带宽斜率(Slope带宽)小于所述平均带宽的10%时的性能参数,其中,上述的最大带宽、最小带宽、平均带宽和带宽斜率均指的是一次测量窗口内的数值。
其中,待测固态硬盘的性能参数可以包括IOPS(Input/Output Operations Per Second,每秒进行读写操作的次数)、平均响应时间和最大响应时间,利用IOPS来判定固态硬盘的读写速度,再利用平均响应时间和最大响应时间来综合判断固态硬盘的读写效率。
其中,本发明实施例中,一种参数的具体选择可以包括第一写入时间为5秒,测试数据的目标大小为4KB,第一迭代阈值为360次,第二迭代阈值为4次,时间阈值初始为5秒,第一次迭代调整后为10秒,第二次迭代调整后为15秒,第三次迭代调整后为25秒,第四次迭代调整后为50秒,第二写入时间为1800秒;当然,上述参数的具体设定可以根据实际应用需求进行设定,在此不做限定。
相应的,本发明实施例还公开了一种固态硬盘性能测试系统,参见图3所示,该系统包括:
间断写入模块1,用于按照预设的第一写入时间向待测固态硬盘随机写入预设的目标大小的测试数据;其中,待测固态硬盘为经过初始化操作,存储数据为空的硬盘;
中断模块2,用于间隔预设的时间阈值后,重新调用间断写入模块1,直至达到预设的第一迭代阈值;
持续写入模块3,用于按照预设的第二写入时间向待测固态硬盘随机写入目标大小的测试数据;
基线构建模块4,用于记录间断写入模块1和持续写入模块3运行期间待测固态硬盘的性能参数,利用性能参数构建性能基线;
时间调整模块5,用于调整时间阈值,间隔预设的阶段时间阈值后,重新调用间断写入模块1,直至满足第二迭代阈值,得到多个待测固态硬盘的性能基线;
报告生成模块6,用于利用多个性能基线,生成测试报告。
具体的,上基线构建模块4,具体用于记录间断写入模块1和持续写入模块3运行期间,满足最大带宽与最小带宽之差小于等于平均带宽的20%和带宽斜率小于所述平均带宽的10%时的性能参数。
具体的,基线构建模块4,具体用于记录间断写入模块1和持续写入模块3运行期间待测固态硬盘包括IOPS、平均响应时间和最大响应时间的性能参数,利用性能参数构建性能基线。
其中,一种参数的具体选择可以包括第一写入时间为5秒,测试数据的预设的目标大小为4KB,第一迭代阈值为360次,第二迭代阈值为4次,时间阈值初始为5秒,第一次迭代调整后为10秒,第二次迭代调整后为15秒,第三次迭代调整后为25秒,第四次迭代调整后为50秒,第二写入时间为1800秒;当然,上述参数的具体设定可以根据实际应用需求进行设定,在此不做限定。
此外,本发明实施例还公开了一种固态硬盘性能测试装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序以实现如前述的固态硬盘性能测试装置。
另外,本发明实施例还公开了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述固态硬盘性能测试方法的步骤。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本发明所提供的一种固态硬盘性能测试方法、系统、装置及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
技术特征:
1.一种固态硬盘性能测试方法,其特征在于,包括:
S11:按照预设的第一写入时间向待测固态硬盘随机写入预设的目标大小的测试数据;其中,所述待测固态硬盘为经过初始化操作,存储数据为空的硬盘;
S12:间隔预设的时间阈值后,返回S11,直至达到预设的第一迭代阈值;
S13:按照预设的第二写入时间向所述待测固态硬盘随机写入所述目标大小的测试数据;
S14:记录所述待测固态硬盘执行S11和S13期间的性能参数,利用所述性能参数构建性能基线;
S15:调整所述时间阈值,间隔预设的阶段时间阈值后,返回S11,直至满足第二迭代阈值,得到多个所述待测固态硬盘的性能基线;
S16:利用多个性能基线,生成测试报告。
2.根据权利要求1所述的固态硬盘性能测试方法,其特征在于,所述记录所述待测固态硬盘执行S11和S13期间的性能参数的过程,包括:
记录所述待测固态硬盘执行S11和S13期间,满足最大带宽与最小带宽之差小于等于平均带宽的20%和带宽斜率小于所述平均带宽的10%时的性能参数。
3.根据权利要求1或2所述的固态硬盘性能测试方法,其特征在于,所述记录所述待测固态硬盘执行S11和S13期间的性能参数,利用所述性能参数构建性能基线的过程,包括:
记录所述待测固态硬盘执行S11和S13期间的包括IOPS、平均响应时间和最大响应时间的所述性能参数,利用所述性能参数构建性能基线。
4.根据权利要求3所述的固态硬盘性能测试方法,其特征在于,所述第一写入时间为5秒,测试数据的所述目标大小为4KB,所述第一迭代阈值为360次,所述第二迭代阈值为4次,时间阈值初始为5秒,第一次迭代调整后为10秒,第二次迭代调整后为15秒,第三次迭代调整后为25秒,第四次迭代调整后为50秒,所述第二写入时间为1800秒,所述阶段时间阈值等于调整后的时间阈值。
5.一种固态硬盘性能测试系统,其特征在于,包括:
间断写入模块,用于按照预设的第一写入时间向待测固态硬盘随机写入预设的目标大小的测试数据;其中,所述待测固态硬盘为经过初始化操作,存储数据为空的硬盘;
中断模块,用于间隔预设的时间阈值后,重新调用所述间断写入模块,直至达到预设的第一迭代阈值;
持续写入模块,用于按照预设的第二写入时间向所述待测固态硬盘随机写入所述目标大小的测试数据;
基线构建模块,用于记录所述间断写入模块和所述持续写入模块运行期间所述待测固态硬盘的性能参数,利用所述性能参数构建性能基线;
时间调整模块,用于调整所述时间阈值,间隔预设的阶段时间阈值后,重新调用所述间断写入模块,直至满足第二迭代阈值,得到多个所述待测固态硬盘的性能基线;
报告生成模块,用于利用多个性能基线,生成测试报告。
6.根据权利要求5所述的固态硬盘性能测试系统,其特征在于,所述基线构建模块,具体用于记录所述间断写入模块和所述持续写入模块运行期间,满足最大带宽与最小带宽之差小于等于平均带宽的20%和带宽斜率小于所述平均带宽的10%时的性能参数。
7.根据权利要求5或6所述的固态硬盘性能测试系统,其特征在于,所述基线构建模块,具体用于记录所述间断写入模块和所述持续写入模块运行期间所述待测固态硬盘包括IOPS、平均响应时间和最大响应时间的性能参数,利用所述性能参数构建性能基线。
8.一种固态硬盘性能测试装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至4任一项所述的固态硬盘性能测试装置。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述固态硬盘性能测试方法的步骤。
技术总结
本申请公开了一种固态硬盘性能测试方法、系统、装置及计算机可读存储介质,对经过初始化操作,存储数据为空的待测固态硬盘首先重复进行间断式写入,按照预设的第一写入时间随机写入目标大小的测试数据,间隔预设的时间阈值后,再次写入,直至达到预设的第一迭代阈值,获取到间断式写入时的性能参数,再按照预设的第二写入时间随机写入目标大小的测试数据,获取持续写入时的性能参数,利用两种写入方式时的性能参数,生成与当前时间阈值对应的性能基线,再不断调整时间阈值,得到不同的性能基线,进而生成测试报告,利用测试报告可以验证固态硬盘空闲时间对性能的影响,可以根据测试报告选择最优的固态硬盘读写方式,提高固态硬盘的运行效率。
技术研发人员:王朋
受保护的技术使用者:郑州云海信息技术有限公司
技术研发日:.11.06
技术公布日:.03.08