一种存储系统性能的测试方法及相关装置与流程

文档序号:13770751阅读:117来源:国知局
本申请涉及计算机
技术领域
,特别涉及一种存储系统性能的测试方法、测试装置、服务器及计算机可读存储介质。
背景技术
:随着信息技术的快速发展,在互联网中传输的数据越来越多,互联网整体的数据量也越来越大。同时随着技术的发展,用户对于数据传输的实时性的要求也越来越高。因此,一个高性能并且稳定的存储系统对于组建互联网服务显得非常重要。在组建稳定高效的存储系统中,对存储系统的测试环节决定了存储系统的性能好坏和稳定性的优劣。所以一般在组建存储系统中都会对存储系统进行测试。但是,由于服务业务的不同,存储系统面对的读写和传输数据的情况也就不同,一般的测试方法没有办法很好的测试出存储系统在不同情况下的性能表现和稳定性,也就没有办法最大限度的发挥存储系统的价值。因此,如何面对不同的服务业务实施最适合的测试方法,是本领域技术人员所关注的重点问题。技术实现要素:本申请的目的是提供一种存储系统性能的测试方法、测试装置、服务器及计算机可读存储介质,通过获取存储系统传输过程中的数据块io的数据块大小,统计在一定时间段中的数据块大小占比,得到存储系统的io测试模式,再根据io测试模式的不同负载进行测试,可以针对不同业务需求的存储系统进行测试,可以发挥不同业务需求下的存储系统的最大价值,提供合适的存储系统服务。为解决上述技术问题,本申请提供一种存储系统性能的测试方法,包括:获取预设时间段内的存储系统中已经下发的数据块io,记录所有所述数据块io的数据块大小;对所有所述数据块大小进行统计,得到不同数据块大小的所述数据块io在所有所述数据块io中的比例,将所述数据块io的所述数据块大小和所述比例进行整理,得到io测试模型;根据所述io测试模型的所述数据块大小和所述比例按照线性变化设置测试压力负载,将存储系统根据不同的测试压力负载进行测试。可选的,所述获取预设时间段内的存储系统中已经下发的数据块io,记录所有所述数据块io的数据块大小,包括:根据所述存储系统的繁忙程度选取多个不同繁忙程度的时间段;获取每个所述时间段的所述存储系统中已经下发的所述数据块io,记录所有所述数据块io的所述数据块大小。可选的,所述对所有所述数据块大小进行统计,得到不同数据块大小的所述数据块io在所有所述数据块io中的比例,将所述数据块io的所述数据块大小和所述比例进行整理,得到io测试模型,包括:对所有所述数据块大小进行统计,得到不同数据块大小的所述数据块io在所有所述数据块io中的比例;将所述比例低于预设比例的所述数据块io去除,将剩余的所述数据块io的所述数据块大小和所述比例进行整理,得到io测试模型。本申请还提供一种存储系统性能的测试装置,包括:数据块大小记录模块,用于获取预设时间段内的存储系统中已经下发的数据块io,记录所有所述数据块io的数据块大小;io测试模型获取模块,用于对所有所述数据块大小进行统计,得到不同数据块大小的所述数据块io在所有所述数据块io中的比例,将所述数据块io的所述数据块大小和所述比例进行整理,得到io测试模型;负载测试模块,用于根据所述io测试模型的所述数据块大小和所述比例按照线性变化设置测试压力负载,将存储系统根据不同的测试压力负载进行测试。可选的,所述数据块大小记录模块,包括:时间段设置单元,根据所述存储系统的繁忙程度选取多个不同繁忙程度的时间段;数据块大小记录单元,用于获取每个所述时间段的所述存储系统中已经下发的所述数据块io,记录所有所述数据块io的所述数据块大小。可选的,所述io测试模型获取模块包括:占比统计单元,用于对所有所述数据块大小进行统计,得到不同数据块大小的所述数据块io在所有所述数据块io中的比例;数据处理单元,用于将所述比例低于预设比例的所述数据块io去除,将剩余的所述数据块io的所述数据块大小和所述比例进行整理,得到io测试模型。本申请还提供一种服务器,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如下的步骤:获取预设时间段内的存储系统中已经下发的数据块io,记录所有所述数据块io的数据块大小;对所有所述数据块大小进行统计,得到不同数据块大小的所述数据块io在所有所述数据块io中的比例,将所述数据块io的所述数据块大小和所述比例进行整理,得到io测试模型;根据所述io测试模型的所述数据块大小和所述比例按照线性变化设置测试压力负载,将存储系统根据不同的测试压力负载进行测试。本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如下的步骤:获取预设时间段内的存储系统中已经下发的数据块io,记录所有所述数据块io的数据块大小;对所有所述数据块大小进行统计,得到不同数据块大小的所述数据块io在所有所述数据块io中的比例,将所述数据块io的所述数据块大小和所述比例进行整理,得到io测试模型;根据所述io测试模型的所述数据块大小和所述比例按照线性变化设置测试压力负载,将存储系统根据不同的测试压力负载进行测试。本申请所提供的一种存储系统性能的测试方法,包括:获取预设时间段内的存储系统中已经下发的数据块io,记录所有所述数据块io的数据块大小;对所有所述数据块大小进行统计,得到不同数据块大小的所述数据块io在所有所述数据块io中的比例,将所述数据块io的所述数据块大小和所述比例进行整理,得到io测试模型;根据所述io测试模型的所述数据块大小和所述比例按照线性变化设置测试压力负载,将存储系统根据不同的测试压力负载进行测试。通过获取存储系统传输过程中的数据块io的数据块大小,统计在一定时间段中的数据块大小占比,得到存储系统的io测试模式,再根据io测试模式的不同负载进行测试,可以针对不同业务需求的存储系统进行测试,可以发挥不同业务需求下的存储系统的最大价值,提供合适的存储系统服务。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请实施例所提供的一种存储系统性能的测试方法的流程图;图2为本申请实施例所提供的一种存储系统性能的测试方法的获取数据块io的流程图;图3为本申请实施例所提供的一种存储系统性能的测试方法的统计数据块io的流程图;图4为本申请实施例所提供的存储系统io栈的结构示意图;图5为本申请实施例所提供的一种存储系统性能的测试装置的结构示意图。具体实施方式本申请的核心是提供一种存储系统性能的测试方法、测试装置、服务器及计算机可读存储介质,通过获取存储系统传输过程中的数据块io的数据块大小,统计在一定时间段中的数据块大小占比,得到存储系统的io测试模式,再根据io测试模式的不同负载进行测试,可以针对不同业务需求的存储系统进行测试,可以发挥不同业务需求下的存储系统的最大价值,提供合适的存储系统服务。为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。请参考图1,图1为本申请实施例所提供的一种存储系统性能的测试方法的流程图。本申请实施例提供一种存储系统性能的测试方法,可以应对不同业务需求进行存储系统的测试,该方法可以包括:s101,获取预设时间段内的存储系统中已经下发的数据块io,记录所有数据块io的数据块大小;本步骤旨在获取预定时间段内的存储系统下发的数据块的传输(io),并记录所有数据块的大小。其中,io是指存储系统的input和output的简称,简单的说就是存储的输入和输出。对于io性能测试,考察的是iops(input/outputoperationspersecond),即每秒进行读写操作的次数。特别的,在存储系统中iops考察的是存储系统每秒可接受多少次主机发出的访问,主机的依次io需要多少次访问存储系统才可以完成。例如,主机写入一个最小的数据块,也需要经过“发送写入请求、写入数据、收到写入确认”等三个步骤,也就是3此存储端访问。本步骤中获取的数据也就是,在一段时间内的关于io传输的数据块大小的记录。并且传输数据的捕获,具体是在存储系统的scsitarget端(一种由远程iscsi服务器(target)提供的远程硬盘)对数据块的io进行拦截,即获取数据块传输的数据。其中,传输的数据块的大小以及下发位置都已经确定,所以可以将数据块信息在文件中进行记录。s102,对所有数据块大小进行统计,得到不同数据块大小的数据块io在所有数据块io中的比例,将数据块io的数据块大小和比例进行整理,得到io测试模型;在步骤s101的基础上,本步骤旨在对采样到的数据块的记录进行统计分析得到不同的io测试模式。对于获取到的数据,按照数据块大小进行统计和分类,列出所有数据块大小,计算某一数据块大小在所有数据块io中的所占的比例。例如,以4k为例,分别统计4k的数据块占io总数的比例。就可以统计得到例如表1的io测试模型。表1:io测试模型ioprofileio大小比例随机读命中8k20%随机读4k45%随机写8k15%随机读64k10%随机写64k10%s103,根据io测试模型的数据块大小和比例按照线性变化设置测试压力负载,将存储系统根据不同的测试压力负载进行测试。在步骤s102的基础上,本步骤旨在根据统计得到的io测试模型,按照线性变化设置不同的压力测试的负载值,得到如下表2。表2:io测试模型负载值ioprofileio大小比例io负载随机读命中8k20%100%随机读4k45%80%随机写8k15%60%随机读64k10%40%随机写64k10%20%io测试模型在一定程度上可以反应该存储系统的数据存储的特点,根据数据存储的特点设置不同的压力测试负载值,就可以很好模拟存储系统在实际情况下的数据存储特点,进而可以更符合业务的需要测试其存储系统的稳定性,而不是针对不同业务的存储系统都运行同一套测试机制。综上,本实施例可以通过获取存储系统传输过程中的数据块io的数据块大小,统计在一定时间段中的数据块大小占比,得到存储系统的io测试模式,再根据io测试模式的不同负载进行测试,可以针对不同业务需求的存储系统进行测试,可以发挥不同业务需求下的存储系统的最大价值,提供合适的存储系统服务。请参考图2,图2为本申请实施例所提供的一种存储系统性能的测试方法的获取数据块io的流程图。结合上一实施例,本实施例主要是针对上一实施例中如何获取数据块io做的一个具体说明,其他部分与上一实施例大体相同,相同部分可以参考上一实施例,在此不再做赘述。本实施例可以包括:s201,根据存储系统的繁忙程度选取多个不同繁忙程度的时间段;本步骤旨在根据存储系统的繁忙程度选取多个不同繁忙程度的时间段。对于存储系统,最考验其性能的就是在存储业务最繁忙的时候,因此对于采集数据的时间段选取应根据存储系统的在不同时间段的繁忙程度进行选取。可以针对业务特点,选取不同使其的最繁忙的时间段。例如,可以选择工作日的上午8点至10点,工作日的下午3点至5点,非工作日的晚上8点至10点,这几个时间段对于存储系统都是典型的最繁忙时刻,在该时间段进行存储系统的访问的数据具有一定的代表性。因此,可以根据不同业务特点选择不同的事件段,具体的在此不再做赘述。s202,获取每个时间段的存储系统中已经下发的数据块io,记录所有数据块io的数据块大小。在步骤s201的基础上,本步骤旨在根据选取的时间段获取存储系统的数据块io的信息。针对业务选取不同的时间段,在这些时间段中获取的数据信息在一定角度上反映了业务的特点,针对该数据信息进行分析就可以针对业务的需求对存储系统进行测试,获得更符合实际的测试结果,利于存储系统的调整。请参考图3,图3为本申请实施例所提供的一种存储系统性能的测试方法的统计数据块io的流程图。结合上一实施例,本实施例主要是针对上一实施例中如何统计数据块io做的一个具体说明,其他部分与上一实施例大体相同,相同部分可以参考上一实施例,在此不再做赘述。本实施例可以包括:s301,对所有数据块大小进行统计,得到不同数据块大小的数据块io在所有数据块io中的比例;本步骤旨在对获取的所有数据块大小信息进行统计,并将不同数据块大小分类得到相应的占比。s302,将比例低于预设比例的数据块io去除,将剩余的数据块io的数据块大小和比例进行整理,得到io测试模型。在步骤s301的基础上,本步骤旨在将上述分类比例中低于预设比例的数据块io进行去除。由于在存储系统的运行中,或多或少的都会有不常见的数据块大小进行传输,但是不常见的数据块传输在日常业务运行中对于存储系统的性能影响微乎其微,因此可以将低于一定数量比例的数据块io去除,以防止影响正常的测试操作,一般将这个过程叫做去噪过程。本申请实施例提供了一种存储系统性能的测试方法,可以通过获取存储系统传输过程中的数据块io的数据块大小,统计在一定时间段中的数据块大小占比,得到存储系统的io测试模式,再根据io测试模式的不同负载进行测试,可以针对不同业务需求的存储系统进行测试,可以发挥不同业务需求下的存储系统的最大价值,提供合适的存储系统服务。需要说明的是,上述测试方法可以对应与三种不同的模型,分别是oltp模型、iops模型和mbps模型。其中oltp(on-linetransactionprocessing)模型是联机日志处理模型,该模型主要应用的存储系统中的数据库业务。数据库业务有独有的特点就是小io比较多且大多都是随机io。iops模型是针对用户场景设置不同的io模式,其中包括:io大小,随机、顺序比例等,该值反映了存储系统给中io的吞吐量,该模型的数值越高,越标明系统的吞吐量越大,系统的性能越好。mbps(millionbitspersecond)模型是跟iops模型相对应的一组数据测试模型,主要是用来反映存储系统带宽值,该值越高越说明系统具有较强的负载承受能力。可选的,还可以对测试后的存储系统进行调优操作。调优过程包括:raid的调优、存储池的调优、缓存的调优和逻辑卷的调优。其具体过程可以如下:第一步,基础环境配置请参考图4,图4为本申请实施例所提供的存储系统io栈的结构示意图。基于本技术方案中的存储拓扑结构和io栈流程,基本配置要求如下:磁盘(hdd磁盘)的个数不低于64块用来创建raid,首先,由于raid10的性能要高于raid5的性能,因此创建8个raid10;其次,创建2个存储池,每个存储池中加入4个raid;再次,系统中一共创建8个逻辑卷,每个存储池中划分4个逻辑卷,其中卷的策略要选择条带化策略;最后,将这8个逻辑卷通过光纤映射给服务器端,此时需要配置多路径策略用来测试系统的性能。第二步,raid模块调优raid是磁盘阵列其功能主要是用来对数据进行保护,在用户的业务模型中有使用riad5、raid6、raid10等阵列级别,raid5和raid6在写时有三种情况:分别是读改写、重构写和满条写,前两种情况都会对写操作进行放大,尤其是对小io的场景更不合适,因此选择raid10进行性能测试。第三步,存储池模块调优存储池模块是负责所有物理空间管理和分配的模块,在系统中可以创建多个存储池,每个存储池中创建多个raid。选择创建多个raid的原因是存储池中的raid可以为卷创建提供条带化策略和同一个存储池中负载的均衡,因此可以表现出较佳的性能。第四步,缓存模块调优缓存模块是决定存储系统性能最关键的模块,缓存的大小对系统性能的影响非常大,但是在缓存大小一定的情况下,可以充分利用缓存分区的功能和io模式对系统性能进行调优。缓存分区和存储池相对应,缓存分区的功能是避免某个存储池的性能低造成缓存空间被分配完成,而性能高的存储池中的io下发时不能继续申请缓存,利用缓存分区可以将两个存储池隔离开来,缓存的申请互不影响。同时io模式不同,随机小io下发到缓存,由于io的随机性所以缓存下刷到不同的磁盘位置,性能不是很好,因此先下发io数据块较大的io。第五步,卷映射优化系统中每个逻辑卷都对应着接收节点,此时io是在一个节点来接收的。在前端主机配置多路径技术,将主机下发的io均衡到不同的节点上以提高性能。下面对本申请实施例提供的一种存储系统性能的测试装置进行介绍,下文描述的一种存储系统性能的测试装置与上文描述的一种存储系统性能的测试方法可相互对应参照。请参考图5,图5为本申请实施例所提供的一种存储系统性能的测试装置的结构示意图。本实施例提供一种存储系统性能的测试装置,可以包括:数据块大小记录模块100,用于获取预设时间段内的存储系统中已经下发的数据块io,记录所有数据块io的数据块大小;io测试模型获取模块200,用于对所有数据块大小进行统计,得到不同数据块大小的数据块io在所有数据块io中的比例,将数据块io的数据块大小和比例进行整理,得到io测试模型;负载测试模块300,用于根据io测试模型的数据块大小和比例按照线性变化设置测试压力负载,将存储系统根据不同的测试压力负载进行测试。可选的,数据块大小记录模块100,包括:时间段设置单元,根据存储系统的繁忙程度选取多个不同繁忙程度的时间段;数据块大小记录单元,用于获取每个时间段的存储系统中已经下发的数据块io,记录所有数据块io的数据块大小。可选的,io测试模型获取模块200,包括:占比统计单元,用于对所有数据块大小进行统计,得到不同数据块大小的数据块io在所有数据块io中的比例;数据处理单元,用于将比例低于预设比例的数据块io去除,将剩余的数据块io的数据块大小和比例进行整理,得到io测试模型。本申请实施例还提供一种服务器,可以包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序时,实现如下的步骤:获取预设时间段内的存储系统中已经下发的数据块io,记录所有数据块io的数据块大小;对所有数据块大小进行统计,得到不同数据块大小的数据块io在所有数据块io中的比例,将数据块io的数据块大小和比例进行整理,得到io测试模型;根据io测试模型的数据块大小和比例按照线性变化设置测试压力负载,将存储系统根据不同的测试压力负载进行测试。本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,实现如下的步骤:获取预设时间段内的存储系统中已经下发的数据块io,记录所有数据块io的数据块大小;对所有数据块大小进行统计,得到不同数据块大小的数据块io在所有数据块io中的比例,将数据块io的数据块大小和比例进行整理,得到io测试模型;根据io测试模型的数据块大小和比例按照线性变化设置测试压力负载,将存储系统根据不同的测试压力负载进行测试。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,功能调用装置,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。以上对本申请所提供的一种存储系统性能的测试方法、测试装置、服务器及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1