一种SSD性能的测试方法、系统及装置与流程

文档序号:15401055发布日期:2018-09-11 17:31阅读:194来源:国知局

本发明涉及计算机技术领域,特别是涉及一种ssd性能的测试方法、系统及装置。



背景技术:

随着存储技术的发展,传统的机械硬盘逐渐被较高存储性能的ssd(solidstatedrives,固态硬盘)所代替。ssd是一种采用固态电子存储芯片阵列制成的硬盘,其被广泛应用于军事、医疗、导航设备等领域。目前,对ssd性能的测试技术包括ssd的输入输出性能的测试,测试不够全面和完善。现有技术中,通常采用人工测试方式对ssd进行选型测试及分析,导致测试时间太长,且没有统一的性能判定标准,从而无法有效地对ssd性能进行论断。

因此,如何提供一种解决上述技术问题的方案是本领域的技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种ssd性能的测试方法、系统及装置,实现了ssd的自动选型测试及分析,缩短了测试时间,且具有统一的性能判定标准,从而能够有效地对ssd性能进行论断。

为解决上述技术问题,本发明提供了一种ssd性能的测试方法,包括:

预先配置一一测试固态硬盘ssd的多个性能的多个测试用例,通过多个所述测试用例分别测试服务器中的待测ssd,得到多个测试结果,并从多个所述测试结果中一一对应抓取所述待测ssd的多个性能参数;

将抓取的每个性能参数均与各自对应的多个预设标准阈值进行比较,得到多个比较结果;

将每个所述性能参数对应的多个比较结果按照每个所述性能参数对应的预设分级标准分级,得到所述待测ssd的多个性能所属的级别。

优选地,多个所述性能包括所述待测ssd的带宽、每秒进行读写操作的次数iops及读延迟。

优选地,该测试方法还包括:

读取所述服务器的系统版本、内核版本、阵列卡信息及服务器型号。

优选地,该测试方法还包括:

通过smart工具读取所述待测ssd的型号、序列号、firmware版本、io调度算法。

优选地,所述预先配置一一测试固态硬盘ssd的多个性能的多个测试用例的过程具体为:

预先配置一一测试ssd的多个性能的多个测试用例的读写模式、请求大小、队列深度及测试时间,其中,多个测试用例均为fio测试用例。

优选地,在通过多个所述测试用例分别测试服务器中的待测ssd,得到多个测试结果之后,在从多个所述测试结果中一一对应抓取所述待测ssd的多个性能参数之前,该测试方法还包括:

从多个所述测试结果中一一对应抓取多个测试用例的输入输出状态,根据多个所述输入输出状态相应地判断多个所述测试用例的测试是否正确;

则所述从多个所述测试结果中一一对应抓取所述待测ssd的多个性能参数的过程具体为:

从测试正确的n个测试用例对应的测试结果中一一对应抓取所述待测ssd的n个性能参数,n为正整数。

为解决上述技术问题,本发明还提供了一种ssd性能的测试系统,包括:

配置模块,用于预先配置一一测试固态硬盘ssd的多个性能的多个测试用例;

测试模块,用于通过多个所述测试用例分别测试服务器中的待测ssd,得到多个测试结果;

抓取模块,用于从多个所述测试结果中一一对应抓取所述待测ssd的多个性能参数;

比较模块,用于将抓取的每个性能参数均与各自对应的多个预设标准阈值进行比较,得到多个比较结果;

分级模块,用于将每个所述性能参数对应的多个比较结果按照每个所述性能参数对应的预设分级标准分级,得到所述待测ssd的多个性能所属的级别。

优选地,所述配置模块具体用于预先配置一一测试ssd的多个性能的多个测试用例的读写模式、请求大小、队列深度及测试时间,其中,多个测试用例均为fio测试用例。

优选地,该测试系统还包括:

判断模块,用于在通过多个所述测试用例分别测试服务器中的待测ssd,得到多个测试结果之后,在从多个所述测试结果中一一对应抓取所述待测ssd的多个性能参数之前,从多个所述测试结果中一一对应抓取多个测试用例的输入输出状态,根据多个所述输入输出状态相应地判断多个所述测试用例的测试是否正确;

则所述抓取模块具体用于从测试正确的n个测试用例对应的测试结果中一一对应抓取所述待测ssd的n个性能参数,n为正整数。

为解决上述技术问题,本发明还提供了一种ssd性能的测试装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述任一种ssd性能的测试方法的步骤。

本发明提供了一种ssd性能的测试方法,包括:预先配置一一测试固态硬盘ssd的多个性能的多个测试用例,通过多个测试用例分别测试服务器中的待测ssd,得到多个测试结果,并从多个测试结果中一一对应抓取待测ssd的多个性能参数;将抓取的每个性能参数均与各自对应的多个预设标准阈值进行比较,得到多个比较结果;将每个性能参数对应的多个比较结果按照每个性能参数对应的预设分级标准分级,得到待测ssd的多个性能所属的级别。

与现有技术中的人工测试方式相比,本申请提前配置多个测试用例,多个测试用例一一对应测试ssd的多个性能。本申请便可以通过配置的多个测试用例分别测试服务器中待测ssd,从而得到多个测试结果。然后,本申请从多个测试结果中一一对应抓取待测ssd的多个性能参数,本申请还提前设置好一个性能参数对应多个标准阈值,然后将抓取的每个性能参数均与各自对应的多个标准阈值进行比较,得到多个比较结果。最后,本申请将每个性能参数对应的多个比较结果按照各自所设的分级标准分级,从而得到待测ssd的多个性能所属的级别。可见,本申请实现了ssd的自动选型测试及分析,缩短了测试时间,且具有统一的性能判定标准,从而能够有效地对ssd性能进行论断。

本发明还提供了一种ssd性能的测试系统及装置,与上述测试方法具有相同的有益效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种ssd性能的测试方法的流程图;

图2为本发明提供的一种ssd性能的测试系统的结构示意图。

具体实施方式

本发明的核心是提供一种ssd性能的测试方法、系统及装置,实现了ssd的自动选型测试及分析,缩短了测试时间,且具有统一的性能判定标准,从而能够有效地对ssd性能进行论断。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参照图1,图1为本发明提供的一种ssd性能的测试方法的流程图。

该测试方法包括:

步骤s1:预先配置一一测试固态硬盘ssd的多个性能的多个测试用例,通过多个测试用例分别测试服务器中的待测ssd,得到多个测试结果,并从多个测试结果中一一对应抓取待测ssd的多个性能参数;

需要说明的是,本申请中的预先和预设是提前设置好的,只需要设置一次,除非根据实际情况需要修改,否则不需要重新设置。

具体地,ssd具有多个性能,共同影响ssd的整体性能。比如,ssd的带宽,是指用于传输数据的总线所能提供的数据传输能力;ssd的iops(input/outputoperationspersecond,每秒进行读写操作的次数),是指ssd每秒可接受多少次主机发出的访问,用来衡量随机访问的性能;ssd的读延迟,主机需要从ssd中获取已经落地的数据返回到主机或者缓存中,这个过程中的延迟就是读延迟。ssd还包括其他性能,本申请在此不作详细地介绍。

为了有效地测试ssd的性能,本申请提前配置多个测试用例,每个测试用例均可以测试ssd的一个性能。在测试用例测试待测ssd之前,待测ssd安装至服务器中,然后通过多个测试用例分别测试待测ssd,每个测试过程均得到一个测试结果,该测试结果相应地体现了待测ssd的性能。本申请可以从该测试结果中抓取体现待测ssd性能的性能参数,从而得到了多个性能参数。

步骤s2:将抓取的每个性能参数均与各自对应的多个预设标准阈值进行比较,得到多个比较结果;

可以理解的是,如果将待测ssd的多个性能分为但不仅限于良、中、差三个级别,不同的性能可能是不同的级别。为了确定待测ssd的每一个性能所属的级别,本申请提前设置了多个标准阈值,且每一个性能均对应多个标准阈值。本申请将抓取的每个性能参数均与各自对应的多个标准阈值进行比较,得到多个比较结果。

比如,待测ssd的带宽的标准阈值可以根据总线上的数据传输能力设定,待测ssd的iops的标准阈值可以根据主机访问增长趋势设定。标准阈值也可以根据已经确认性能的ssd的各性能参数作为标准参照进行设定。至于设定标准阈值的具体依据,本申请在此不做特别的限定,根据实际情况而定。

步骤s3:将每个性能参数对应的多个比较结果按照每个性能参数对应的预设分级标准分级,得到待测ssd的多个性能所属的级别。

具体地,将多个性能参数中某一性能参数对应的多个比较结果,按照该性能参数对应的分级标准分级,从而得到该性能参数所对应的待测ssd的性能所属的级别。

这里以待测ssd的读延迟性能举例,当待测ssd的多个性能分为良、中、差三个级别时,本申请可以将待测ssd的读延迟对应的标准阈值设为1s和300ms,读延迟对应的分级标准是:读延迟的性能参数小于等于300ms时,待测ssd的读延迟性能属于良;读延迟的性能参数大于300ms小于1s时,待测ssd的读延迟性能属于中;读延迟的性能参数大于等于1s时,待测ssd的读延迟性能属于差,从而实现性能的分级。

本申请还可以将多个性能均为良的ssd标记为可用ssd,将多个性能均为差的ssd标记为不可用ssd,将其他ssd标记为备选ssd。

此外,本申请中的每个测试用例均可以形成测试报告,后续对测试结果的分析信息也可以加入至测试报告中,从而供用户参考。

当用户只关注ssd的带宽性能,而不关注ssd的其他性能时,用户便可以根据ssd的测试报告选择带宽性能为良的ssd。当用户关注ssd的整体性能时,用户同样可以根据ssd的测试报告选择带宽等多个性能均为良的ssd。

因此,本申请可以实现ssd的自动选型测试及分析,缩短了测试时间,且具有统一的性能判定标准,从而能够有效地对ssd性能进行论断。

本发明提供了一种ssd性能的测试方法,包括:预先配置一一测试固态硬盘ssd的多个性能的多个测试用例,通过多个测试用例分别测试服务器中的待测ssd,得到多个测试结果,并从多个测试结果中一一对应抓取待测ssd的多个性能参数;将抓取的每个性能参数均与各自对应的多个预设标准阈值进行比较,得到多个比较结果;将每个性能参数对应的多个比较结果按照每个性能参数对应的预设分级标准分级,得到待测ssd的多个性能所属的级别。

与现有技术中的人工测试方式相比,本申请提前配置多个测试用例,多个测试用例一一对应测试ssd的多个性能。本申请便可以通过配置的多个测试用例分别测试服务器中待测ssd,从而得到多个测试结果。然后,本申请从多个测试结果中一一对应抓取待测ssd的多个性能参数,本申请还提前设置好一个性能参数对应多个标准阈值,然后将抓取的每个性能参数均与各自对应的多个标准阈值进行比较,得到多个比较结果。最后,本申请将每个性能参数对应的多个比较结果按照各自所设的分级标准分级,从而得到待测ssd的多个性能所属的级别。可见,本申请实现了ssd的自动选型测试及分析,缩短了测试时间,且具有统一的性能判定标准,从而能够有效地对ssd性能进行论断。

在上述实施例的基础上:

作为一种优选地实施例,多个性能包括待测ssd的带宽、每秒进行读写操作的次数iops及读延迟。

具体地,待测ssd的性能包括但不仅限于待测ssd的带宽、每秒进行读写操作的次数iops及读延迟,上文中已作介绍,本申请在此不再赘述。

作为一种优选地实施例,该测试方法还包括:

读取服务器的系统版本、内核版本、阵列卡信息及服务器型号。

具体地,待测ssd安装于服务器中,本申请还可以读取待测ssd所在服务器的系统版本、内核版本、阵列卡信息及服务器型号。本申请也可以读取当前测试时间,并将读取的信息加入至测试报告中,使测试报告更加全面、完整。

作为一种优选地实施例,该测试方法还包括:

通过smart工具读取待测ssd的型号、序列号、firmware版本、io调度算法。

具体地,本申请还可以通过smart工具读取待测ssd的型号、序列号、firmware版本、io调度算法。其中,firmware是指写入待测ssd中的程序。io调度算法在各个进程竞争磁盘i/o的时候,要求请求的次序和时机做最优处理,使整体i/o性能尽可能最优。本申请同样可以将读取的信息加入至测试报告中,进一步完善测试报告。

作为一种优选地实施例,预先配置一一测试固态硬盘ssd的多个性能的多个测试用例的过程具体为:

预先配置一一测试ssd的多个性能的多个测试用例的读写模式、请求大小、队列深度及测试时间,其中,多个测试用例均为fio测试用例。

具体地,本申请中的测试用例可以采用fio测试用例,配置fio测试用例的读写模式、请求大小、队列深度及测试时间。这里的读写模式包括随机读、随机写、顺序写和顺序读;请求大小是指磁盘中缓存块的大小。

当测试用例为fio测试用例时,由于iops乘以请求大小等于带宽,所以带宽和iops可以在一个fio测试用例里体现。而且,测试待测ssd的读延迟的fio测试用例可以多次测试,进而求取待测ssd读延迟的平均性能参数。

则多个fio测试用例的配置如下表格,该表格仅代表多个fio测试用例的其中一种配置情况:

表1

作为一种优选地实施例,在通过多个测试用例分别测试服务器中的待测ssd,得到多个测试结果之后,在从多个测试结果中一一对应抓取待测ssd的多个性能参数之前,该测试方法还包括:

从多个测试结果中一一对应抓取多个测试用例的输入输出状态,根据多个输入输出状态相应地判断多个测试用例的测试是否正确;

则从多个测试结果中一一对应抓取待测ssd的多个性能参数的过程具体为:

从测试正确的n个测试用例对应的测试结果中一一对应抓取待测ssd的n个性能参数,n为正整数。

具体地,考虑到测试用例可能会出错,从而影响ssd性能的测试结果。本申请在得到多个测试结果之后,从待测ssd的多个测试结果中相应地抓取多个测试用例的输入输出状态,根据多个输入输出状态便可以相应地判断多个测试用例的测试是否正确。比如,输入输出状态iostat信息的随机写的标准阈值可以设为100mb/s,当测试用例的输入输出状态值小于100mb/s时,则认为该测试用例不符合标准,即测试错误;当测试用例的输入输出状态值大于等于100mb/s时,则认为该测试用例符合标准,即测试正确。在符合标准的测试用例中,可以分为一般和好两个等级,一般是测试用例的输入输出状态值小于等于所有测试用例的输入输出状态值的平均值的50%且大于100mb/s,好是测试用例的输入输出状态值大于所有测试用例的输入输出状态值的平均值的50%且大于100mb/s。又或者,输入输出状态iostat信息的随机读延迟的标准阈值可以设为1s,大于1s的测试用例不符合标准,即测试错误;小于等于1s的测试用例符合标准,即测试正确。在符合标准的测试用例中,可以分为一般和好两个等级,一般是小于1s并大于等于300ms,好是小于300ms。本申请只从测试正确的测试用例对应的测试结果中相应地抓取待测ssd的性能参数即可,从而保证了测试结果的可靠性。

请参照图2,图2为本发明提供的一种ssd性能的测试系统的结构示意图。

该测试系统包括:

配置模块1,用于预先配置一一测试固态硬盘ssd的多个性能的多个测试用例;

测试模块2,用于通过多个测试用例分别测试服务器中的待测ssd,得到多个测试结果;

抓取模块3,用于从多个测试结果中一一对应抓取待测ssd的多个性能参数;

比较模块4,用于将抓取的每个性能参数均与各自对应的多个预设标准阈值进行比较,得到多个比较结果;

分级模块5,用于将每个性能参数对应的多个比较结果按照每个性能参数对应的预设分级标准分级,得到待测ssd的多个性能所属的级别。

作为一种优选地实施例,配置模块1具体用于预先配置一一测试ssd的多个性能的多个测试用例的读写模式、请求大小、队列深度及测试时间,其中,多个测试用例均为fio测试用例。

作为一种优选地实施例,该测试系统还包括:

判断模块,用于在通过多个测试用例分别测试服务器中的待测ssd,得到多个测试结果之后,在从多个测试结果中一一对应抓取待测ssd的多个性能参数之前,从多个测试结果中一一对应抓取多个测试用例的输入输出状态,根据多个输入输出状态相应地判断多个测试用例的测试是否正确;

则抓取模块3具体用于从测试正确的n个测试用例对应的测试结果中一一对应抓取待测ssd的n个性能参数,n为正整数。

本发明提供的测试系统的介绍请参考上述测试方法实施例,本发明在此不再赘述。

本发明还提供了一种ssd性能的测试装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现上述任一种ssd性能的测试方法的步骤。

本发明提供的测试装置的介绍请参考上述测试方法实施例,本发明在此不再赘述。

还需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1