CN101727394A - 一种对存储设备进行性能测试的方法及装置 - Google Patents

一种对存储设备进行性能测试的方法及装置 Download PDF

Info

Publication number
CN101727394A
CN101727394A CN200910261715A CN200910261715A CN101727394A CN 101727394 A CN101727394 A CN 101727394A CN 200910261715 A CN200910261715 A CN 200910261715A CN 200910261715 A CN200910261715 A CN 200910261715A CN 101727394 A CN101727394 A CN 101727394A
Authority
CN
China
Prior art keywords
data
virtual user
memory device
data directory
resource pool
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
Application number
CN200910261715A
Other languages
English (en)
Other versions
CN101727394B (zh
Inventor
梁莹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Digital Technologies Chengdu Co Ltd
Original Assignee
Huawei Symantec Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN2009102617151A priority Critical patent/CN101727394B/zh
Publication of CN101727394A publication Critical patent/CN101727394A/zh
Application granted granted Critical
Publication of CN101727394B publication Critical patent/CN101727394B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种对存储设备进行性能测试的方法及装置,所述方法包括:读取预置的配置文件;根据所述配置文件指定的虚拟用户的操作行为信息,创建虚拟用户,并生成与所述虚拟用户对应的操作请求;按照所述配置文件中指定的调度方式,将所述操作请求发送到资源池;所述资源池用于保存存储设备中保存的数据的数据索引,所述数据索引的类型与所述虚拟用户访问的数据类型对应;基于所述操作请求,将各虚拟用户与所述资源池中对应的数据的索引通过端口建立连接,并触发各虚拟用户对所连接的数据索引对应的数据执行相应的操作;获取并记录操作过程中产生的性能信息。通过本发明,能够实现不同业务场景下对存储设备的测试,实现混合业务场景下的测试。

Description

一种对存储设备进行性能测试的方法及装置
技术领域
本发明涉及测试技术领域,特别是涉及一种对存储设备进行性能测试的方法及装置。
背景技术
存储设备在实际应用中会面临纷繁复杂的应用场景,因此,需要针对各种应用场景对存储设备进行性能测试,否则,在实际使用中可能暴露出一些性能问题,如响应时间过长、IOPS(I/O per second,每秒进行读写操作的次数)低于测试值导致可服务的用户数小于预期等问题。
通常,可以使用压力测试工具(如LoadRunner等),对存储设备的性能进行测试。但是,压力测试工具是在搭建真实系统的基础上在协议层模拟虚拟用户行为,需要搭建真实业务环境,每个用户需要对应一台主机,各用户在各自的主机上对存储设备发起操作,如4台主机+一台存储设备,中间通过交换机组网,该方案成本较高不易实施。
为了解决上述问题,现有技术中出现了针对特殊场景开发的专用业务模拟工具,例如针对文件系统的测试开发的IOzone、Postmark等工具,针对视频播放场景开发的工具,针对数据库场景开发的Orion等工具,等等。这些工具无须搭建真实的业务环境,能够在一台主机上模拟多个用户的操作,实现在特定的应用场景下对存储设备的性能进行测试。然而,每种工具都只能在特定的应用场景下使用,可扩展性低。例如,针对小文件测试开发的工具,不能应用于测试大文件。而且,真实的业务常常是混合的,例如,视频点播业务通常包含数据库查询、视频播放、快进等业务的混合,这种专门针对特定应用场景的工具无法实现在混合业务场景下的测试。
发明内容
本发明实施例提供一种对存储设备进行性能测试的方法及装置,能够实现不同业务场景下对存储设备的测试,实现混合业务场景下的测试。
为实现上述目的,本发明实施例提供了如下方案:
一种对存储设备进行性能测试的方法,包括:
读取预置的配置文件;
根据所述配置文件指定的虚拟用户的操作行为信息,创建虚拟用户,并生成与所述虚拟用户对应的操作请求;
按照所述配置文件中指定的调度方式,将所述操作请求发送到资源池,所述资源池用于保存存储设备中保存的数据的数据索引,其中,所述数据索引的类型与所述虚拟用户访问的数据类型对应;
基于所述操作请求及所述虚拟用户访问的数据类型,将各虚拟用户与所述资源池中对应的数据索引通过端口建立连接,并触发各虚拟用户对所连接的数据索引对应的数据执行相应的操作;
获取并记录操作过程中产生的性能信息。
一种对存储设备进行性能测试的装置,包括:
配置文件读取模块,用于读取预置的配置文件;
操作请求产生模块,用于根据所述配置文件指定的虚拟用户的操作行为信息,创建虚拟用户,并生成与所述虚拟用户对应的操作请求;
操作请求调度模块,用于按照所述配置文件中指定的调度方式,将所述操作请求发送到资源池;所述资源池用于保存存储设备中保存的数据的数据索引,其中,所述数据索引的类型与所述虚拟用户访问的数据类型对应;
操作执行模块,用于基于所述操作请求及所述虚拟用户访问的数据类型,将各虚拟用户与所述资源池中对应的数据索引通过端口建立连接,并触发各虚拟用户对所连接的数据索引对应的数据执行相应的操作;
性能信息获取模块,用于获取并记录操作过程中产生的性能信息。
根据本发明提供的具体实施例,本发明实施例具有以下优点:
本发明基于ACA架构,通过JSim建立了模拟存储设备应用场景的软件框架,使得操作请求的调度过程变得可以控制,因此,可以模拟用户在各种业务场景下对各种数据的操作请求,因此,可以实现不同业务场景下对存储设备的测试。同时,能够混合业务场景下,对存储设备的测试。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的对存储设备进行性能测试的软件框架示意图;
图2是本发明实施例提供的方法的流程图;
图3是本发明实施例提供的另一方法的流程图;
图4是本发明实施例提供的装置的示意图;
图5是本发明实施例提供的另一装置的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例根据ACA架构(autonomous Component Architecture,自治组件架构)和JSim(Java-Based simulation and animationenvironment),建立模拟存储设备应用场景的软件框架,为了便于理解,下面首先对ACA架构及JSim进行简要的介绍。
在ACA架构中,整个软件系统由多个组件(component)组成,每个组件存在多个端口(port),各个组件之间可以通过端口通信,通信方式可以采用自定义的协议。端口与端口之间可以通过线(wire)来连接,组件可以按照规定协议,通过wire把信息传递到对端组件。
JSim是一款用Java语言实现ACA架构的用于模拟业务的框架,它详细定义了component、port等的实现细节以及对于多线程的处理。同时增加了运行时组件(Runtime:线程的组合)来接管组件之间wire上的数据流,然后进行转发。
基于上述ACA架构及JSim,本发明实施例提供了对存储设备进行性能测试的软件框架,例如,在一个具体的实例中,本发明实施例提供的软件框架可以包括以下五大部分:用户(User)、用户群组(User Group)、虚拟机(VitrualMachine)、资源(Resource)、监控(Monitor),其中,资源(Resource)包含资源代理(Resource Agent)和资源池(Resource Pool),如图1所示,其为本发明实施例提供的对存储设备进行性能测试的软件框架示意图。
其中,User模块是对业务场景下用户访问存储设备行为(读、写、播放、快进、重放等)的抽象,同时也包含对存储设备访问行为的统计;其中,每个User模块对应一个虚拟用户,可以通过User模块虚拟出真实用户对存储设备的访问行为,代替真实用户执行对存储设备的访问;可以根据测试所需的场景确定需要的User类型、数目及操作行为,其中,User模块访问不同类型的数据时,对应不同的User类型,例如:当User模块访问File(文件)时,User类型为第一类型,当User模块访问Media(多媒体)时,User类型为第二类型,数目与数据的数目对应表示User的数目,操作行为可以包括:访问方式、速率、时长等。在测试开始时就可以创建相应的User模块,每个User模块可以具有唯一的标识,用于区分各个User模块;在测试结束后还可以将User模块收回并销毁。其中,“收回并销毁”是面向对象语言的一种软件机制,通俗地讲,收回是指软件辨识出不再使用的对象(Object),销毁是指从内存中将这些对象清除掉,释放其所占用的内存空间。其中,在本发明实施例中,该对象就是指所创建的虚拟用户,也就是说,在测试结束之后,可以清理User模块并释放User模块占用的内存空间。
对存储设备访问行为的统计是指,在测试过程中,统计用户的访问行为,例如,当前1s内,同时有多少user进行播放等等,统计的结果可以作为一种性能测试信息。
User Group模块是对用户群体行为的抽象,负责维护具有相同行为的用户组,User Group由单个User的集合构成;其中,User Group是根据不同的业务场景预先划分好的,例如,需要在文件系统场景、视频点播场景及数据库场景中对存储设备进行测试,则可以在创建了各种类型的User后,将相同类型的User组成一个User Group,如果User的类型也是有三种,则最终将会组成三个User Group。每个User Group可以根据配置信息为组内的各User产生操作请求信息,还可以触发组内的各User执行相应的操作。
Virtual Machine是操作请求的调度器,负责模拟实际业务中的请求调度算法。它利用JSim的Runtime机制维护一个线程池,根据从配置文件中读取到的业务调度方式对用户请求进行调度;也就是说,在本发明实施例中,调度方式也是可以在配置文件中指定的,例如,可以指定采用先到先服务的调度方式或基于优先级的调度方式,Virtual Machine会按照配置文件指定的调度方式对用户请求进行调度;需要说明的是,Virtual Machine在对操作请求信息进行调度时,是将操作请求信息发送到Resource模块,也就是说,可以将各个User的信息操作请求信息,按照配置文件中配置的调度方式,发送到Resource模块,先发送到Resource模块的操作请求信息将会先获得响应。
Resource模块承担了真实业务中的数据管理和I/O操作的工作。它的前端是一个资源代理模块(Resource Agent),负责将各User的操作请求与实际需要操作的数据索引进行连接,User根据该连接,就可以知道需要对哪个数据执行操作;连接建立后即可释放Resource Agent占用的内存空间。
Resource模块还负责维护资源池(Resource Pool)的信息,资源池按照读写访问方式不同可以被划分为File(文件)、Media(多媒体)和Database(数据库)三种类型。处于资源池中不同类型的数据索引分别维护着存储设备中当前保存的数据的描述信息和对应的I/O操作方法。当操作请求到达资源池时,Resource模块发起针对存储设备的I/O操作,产生I/O负载;需要说明的是,由于需要测试的存储设备的性能,因此,真正的数据保存在存储设备中,资源池中保存的是各数据索引,即通过资源池中的数据索引信息可以找到存储设备中的数据;其中,存储设备中的数据可以是在进行测试时创建的,在创建数据的同时,将数据的位置、类型等信息保存在资源池中即可;如果存储设备中已经保存有数据,则可以获取各数据的类型、位置等信息,保存在资源池中即可。另外,对一个存储设备测试结束后,资源池中关于该存储设备的数据索引也将被删除,以便对其他的存储设备进行测试;或者,也可以将资源池的信息记录到某文件中,这样,下次需要对已经测试过的存储设备进行测试时,就可以不必再重新获取该存储设备的数据类型、位置等信息,直接从文件中读取即可。总之,当前被测试的存储设备中的数据与资源池中的数据索引可以保持一一对应的关系。
Monitor模块负责对整个模拟环境中的业务状况和存储设备性能状况进行监控,并输出监控结果,可以实时反馈操作过程中出现的故障。
下面对本发明实施例提供的方法的具体流程进行详细地描述。
参见图2,本发明实施例提供的对存储设备进行性能测试的方法包括以下步骤:
S201:读取预置的配置文件;
配置文件中包括调度方式、用户组、用户数目、用户对数据的访问方式、访问速率、测试时长、数据的数目、类型、位置等信息。在具体实现时,一个业务场景对应一个配置文件,如果需要在多个业务场景下进行测试,则可以分别准备多份配置文件。
S202:根据所述配置文件指定的虚拟用户操作行为信息,创建虚拟用户,生成与所述虚拟用户对应的操作请求;
配置文件中配置了User及对应的操作行为信息,User Group根据这些信息就可以分别为各个User产生相应的操作请求。其中,这里的操作行为信息可以包括访问方式、速率、时长等。需要说明的是,该步骤中,仅仅是明确了各个User对应的操作请求,但是User并不会自动发起该操作请求,关于具体如何发起,下文会有详细地介绍。
S203:按照所述配置文件中指定的调度方式,将所述操作请求发送到资源池,所述资源池用于保存存储设备中保存的数据的数据索引,其中,所述数据索引的类型与所述虚拟用户访问的数据类型对应;
如前文所述,步骤S202中为每个用户产生了操作请求,该步骤S303就是要将各用户的操作请求,按照指定的调度方式发送到资源池。
本发明实施例中,测试工具可以通过一个专门的调度模块,对用户的访问请求进行调度,因此,测试工具能够对进程调度方式进行控制,进而能够实现在同一测试工具中对多种不同的业务场景以及综合业务场景进行模拟。
其中,由于在真实业务场景下调度方式是已知的,比如,如果访问一个流媒体的网站,而所有的用户都是同一优先级,此时应该采取先到先服务的调度方式;在视频监控领域中,系统管理员的优先级高于普通用户,则应该采用优先响应高优先级的调度方式。因此,在本发明实施例中,针对各种业务场景,就可以在配置文件中指定调度方式,Virtual Machine可以按照指定的调度方式,调度各用户的访问请求,而不会受到操作系统所采用的调度方式的限制以便支持多种业务场景。
其中,数据索引的类型与虚拟用户访问的数据类型对应,例如:当虚拟用户访问File(文件)时,数据索引的类型为第一类型,当虚拟用户访问Media(多媒体)时,数据索引的类型为第二类型。
其中,User在对所连接的数据索引发起操作请求时,也是按照配置文件中指定的操作行为信息进行的,例如,在User以512KB的块大小读某文件10分钟后,触发该User以256KB的块大小读某文件20分钟,等等。
S204:基于所述操作请求及所述虚拟用户访问的数据类型,将各虚拟用户与所述资源池中对应的数据索引通过端口建立连接,并触发各虚拟用户对所连接的数据索引对应的数据执行相应的操作;
操作请求中携带有数据类型信息,将各User与对应的数据索引通过端口建立连接之后,User才可以知悉需要对该数据索引对应的数据进行读写等操作。真正发起操作之后,就可以使得存储设备产生I/O负载,以便测试存储设备的性能。
如前文所述,各种类型的数据保存在存储设备中,资源池中保存的是数据在存储设备中的路径等信息。根据配置文件获知所需类型及数目的数据之后,可以首先查询资源池,判断所述存储设备中是否保存有对应的数据,如果数据充足,则直接将各用户与对应的数据索引通过端口建立连接;否则,如果所述存储设备中没有对应的数据,或者该类型数据的数目不够,则可以在存储设备中创建该类型的数据,同时,在资源池中记录新创建的数据在存储设备中的位置等信息,生成各数据的数据索引,以便通过资源池中的数据索引能够链接到存储设备中具体的数据;然后,将各虚拟用户与对应的数据索引通过端口连接起来即可。
其中,由于虚拟用户可能有多个,数据索引也可能有多条,因此,在具体将某虚拟用户与数据索引建立连接时,可以首先按照该虚拟用户的类型找到该类型的数据索引,由于该类型的数据索引也可能有多条,此时,可以采用随机选择或顺序选择等方式来建立所述连接。例如,在随机方式下,对于某个类型虚拟用户,在该类型的数据索引中随机选择一个,与之建立连接即可,该类型中的其他虚拟用户也是一样,即每个虚拟用户连接的数据索引都是在该类型的数据索引中随机选择的。在顺序选择的方式下,由于数据索引可能是按顺序保存在资源池中的,因此,可以根据连接建立的先后顺序,按数据索引的序列号顺序进行选择;例如,对于某类型的数据索引的序列号为1到20,则从序列号为1的数据索引开始与虚拟用户建立连接,当然也可以采用其他的顺序,例如从序列号为20的数据索引开始等。关于创建数据的具体方法,本领域技术人员可以参照现有技术中的实现方案进行,这里不再赘述。
在将各虚拟用户与对应的数据索引通过端口连接起来之后,就可以触发各虚拟用户对所述连接的数据索引执行相应的操作,当操作请求到达资源池中的数据索引后,资源池可以发起针对存储设备中相应数据的操作,使得存储设备产生I/O负载,以便测试存储设备的性能。
S205:获取并记录操作过程中产生的性能信息。
其中,性能信息包括:
Resource模块的带宽(存储设备单位时间处理数据的总量,单位是MBPS);或者,
响应时间(一个I/O从主机发给存储到完成对其处理所耗费的时间);
事务数信息(操作过程中每秒读写的次数);或者,
User Group模块统计的类型(文件操作、视频点播等);或者,
操作次数(进行播放、快进、读写、创建文件等操作的次数)。
其中,由于Resource模块中的数据索引与存储设备中的数据是一一对应的,Resource模块相当于是存储设备的映像,用户对存储设备的所有访问请求都是通过Resource模块实现的,因此,Resource模块的带宽、响应时间、事物数信息,就反映了存储设备的带宽、响应时间、事物数信息。需要说明的是,事务数与操作次数是有所区别的,每一次读、写都叫做一次事务,因此,事务数是指每秒读写的次数;操作次数是指进行播放、快进、读写、创建文件等操作的次数,其中一次操作可能对应多次读写(如创建文件的操作可能对应多次读写),但是对于操作次数而言,仅统计为一次。并且,在本发明实施例中,事务数是由Resource模块统计的,操作次数是由User Group模块统计的。
存储设备是指任意可以保存数据并保证有效访问的介质,在本发明实施例中可以指磁盘阵列。
本发明实施例中,通过调度层以及各个具体模块的划分,可以度量测试工具的仿真程度,具体的,可以将各个模块的实现与真实场景相比较,从而评估整个系统的仿真程度。例如对流媒体的操作,可以从用户数量、在一定时间段内各种用户操作占总用户操作的比例、系统对用户操作的调度模式、以及最终系统的响应分别与真实业务场景进行对比。对比采用的方式包括均值检验、方差分析、一致性检验等方式。根据实际测试比较结果,文件系统、媒体服务等仿真程度均达到80%以上,仿真准确度高。
在实际应用中,可以将本发明实施例提供的软件安装在某主机上,然后将需要测试的存储设备也连接到该主机上,写好配置文件并运行该软件后,就可以自动完成对存储设备的性能测试,并实时显示出测试信息的结果供分析使用。
为了更好地理解本发明实施例提供的技术方案,下面结合各个模块对本发明实施例提供的方法的具体流程进行更为详细地描述。
参见图3,具体的流程包括以下步骤:
S301:根据待测试的业务场景,生成配置文件;
S302:程序读取指定配置文件,向Resource Agent发出访问指定类型数据的命令;
S303:如果存储设备中没有对应的数据时,创建对应的数据;
S304:User Group模块根据配置指定的访问方式、速率等信息控制User产生对应的操作请求,请求信息发送至Virtual Machine;
S305:Virtual Machine按照配置文件中指定的调度方式,调度各个用户的操作请求,发送至Resource Agent;
S306:Resource Agent将对应请求按照数据类别分发至对应的ResourcePool;
S307:Resource Pool按照指定方式选择对应的数据索引(例如随机选择或顺序选择等方式),并将该数据索引与对应的User通过Port连接到一起,同时将User标识号与User类型反馈给Resource;由于User可以分类创建,同时,Resource Pool中的数据索引也可以分别对应不同类型的数据,而Resource Pool又能够根据User的类型,将User与对应的数据索引建立连接,并且,该User与该数据索引会一直保持连接状态,直到完成对该数据索引对应的数据的操作,才可能会断开连接。因此,各个User之间互不干扰,可以按照各自的访问模型进行操作。所以通过这一步,不同的User可以同时对不同的数据按照不同的访问模型进行操作,即,在同一时刻可以对不同类型的数据按照不同的访问模型发起操作请求,因此,可以实现在混合型业务场景中的测试。
S308:User Group根据配置文件中的操作方式(如播放、快进、快退等)、时间间隔等信息,控制User对所连接的数据索引对应的数据发起操作请求;
需要说明的是,如果要模拟某种场景下User对数据的一系列连续操作,例如一个用户在播放视频10分钟后快进1分钟、然后再继续播放5分钟,可以在配置文件中分别用三条记录体现,第一条配置一个用户进行十分钟的播放,第二条配置一个用户延迟10分钟后进行1分钟的快进操作,第三条配置一个用户延迟11分钟后进行5分钟的播放。利用这种方式就能够达到模拟连续操作的目的了。
其中,所有用户对数据的请求都通过Virtual Machine按照配置文件中的调度方式进行调度;每次调度后Resource与User Group模块将访问所产生的性能信息统计并发送至Monitor。由于Virtual Machine仿真了各种数据的不同用户请求调度模式,因此可以达到很高的仿真程度。Monitor负责统计系统性能信息并将其打印到控制台,或同时记录到日志中,以供观察获取到的性能信息。这些性能信息包括用户请求的类型、次数、数据的操作模式、操作耗时、带宽、事务数等。
S309:测试时间到后结束测试,User Group负责回收User并销毁,下次测试时,可以再重新创建各种所需的User。Resource模块根据配置文件中的不同方式,可以选择销毁资源池中的数据索引,或者将资源池信息记录到文件中,留待下次测试时使用。
存储设备是指任意可以保存数据并保证有效访问的介质,在本发明实施例中可以指磁盘阵列。
总之,本发明实施例提供的软件框架可重复用于模拟多种应用场景,而不需要对框架进行大幅度修改或针对单个应用场景开发不同的工具,因此,可扩展性强。并且,使用Virtual Machine多线程调度机制模拟实际业务中的请求调度算法对存储设备进行操作,仿真真实度高。
与本发明实施例提供的对存储设备进行性能测试的方法相对应,本发明实施例还提供了一种对存储设备进行性能测试的装置,参见图4,该装置包括:
配置文件读取模块401,用于读取预置的配置文件;
操作请求产生模块402,用于根据所述配置文件指定的虚拟用户的操作行为信息,创建虚拟用户,并生成与所述虚拟用户对应的操作请求;
操作请求调度模块403,用于按照所述配置文件中指定的调度方式,将所述操作请求发送到资源池;所述资源池用于保存存储设备中保存的数据的数据索引,其中,所述数据索引的类型与所述虚拟用户访问的数据类型对应;
操作执行模块404,用于基于所述操作请求,将各虚拟用户与所述资源池中对应的数据索引通过端口建立连接,并触发各虚拟用户对所连接的数据索引对应的数据执行相应的操作;
性能信息获取模块405,用于获取并记录操作过程中产生的性能信息。
例如,在前文所述的具体实例中,User相当于该装置中的虚拟用户,该装置中的操作请求产生模块402的功能可以由User Group完成,该装置中的操作请求调度模块403的功能可以由Vitrual Machine完成,该装置中的操作执行模块404的功能可以由Resource及User Group完成;最后,性能信息获取模块405可以由Monitor完成。
其中,参见图5,操作执行模块404可以包括:
连接建立子模块5041,用于如果所述存储设备中保存有对应的数据时,将各虚拟用户与资源池中对应的数据索引通过端口建立连接;否则,在所述存储设备中创建对应及数目的数据,在所述资源池中保存所述创建的数据在所述存储设备中的数据索引,并将各虚拟用户与对应的数据索引通过端口建立连接;
触发子模块4042,用于触发各虚拟用户对所连接的数据索引执行相应的操作。
性能信息获取模块405可以包括:
第一获取子模块4051,用于当操作执行模块触发各虚拟用户对所连接的数据索引对应的数据执行相应的操作时,获取操作占用的带宽;或者,
第二获取子模块4052,用于当操作执行模块触发各虚拟用户对所连接的数据索引对应的数据执行相应的操作时,获取该操作的响应时间;或者,
第三获取子模块4053,用于获取事务数信息,所述事务数信息用于指示各虚拟用户对所连接的数据索引对应的数据执行相应的操作过程中的读写次数;或者,
第四获取子模块4054,用于获取操作请求产生模块产生的操作请求的类型;或者,
第五获取子模块4055,用于获取操作请求产生模块产生的操作请求的操作次数。
由于User模块通常是根据具体的测试需要创建的,因此在进行完一次测试之后,此次创建的User模块可能不再有用,此时,可以将这些User模块收回并销毁,以避免占用过多的内存空间。相应的,该装置还可以包括:
虚拟用户管理单元406,用于测试结束后,识别出不再使用的虚拟用户对象,并释放所述不再使用的虚拟用户对象占用的内存空间。
为了便于对其他的存储设备进行测试,或者对测试过的存储设备进行重复测试,该装置还可以包括:
资源管理单元407,用于测试结束后,销毁资源池中的数据索引,或者,将资源池信息记录到文件中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如下步骤:读取预置的配置文件;根据所述配置文件指定的虚拟用户及操作行为信息,创建虚拟用户,并生成与所述虚拟用户对应的操作请求;按照所述配置文件中指定的调度方式,将所述操作请求发送到资源池;所述资源池用于保存存储设备中保存的数据的数据索引,其中,所述数据索引的类型与所述虚拟用户访问的数据类型对应;基于所述操作请求,将各虚拟用户与所述资源池中对应的数据索引通过端口建立连接,并触发各虚拟用户对所连接的数据索引对应的数据执行相应的操作;获取并记录操作过程中产生的性能信息。所述的存储介质,如:ROM/RAM、磁碟、光盘、存储阵列、固态存储介质等。
以上对本发明所提供的一种对存储设备进行性能测试的方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种对存储设备进行性能测试的方法,其特征在于,包括:
读取预置的配置文件;
根据所述配置文件指定的虚拟用户的操作行为信息,创建虚拟用户,并生成与所述虚拟用户对应的操作请求;
按照所述配置文件中指定的调度方式,将所述操作请求发送到资源池,所述资源池用于保存存储设备中保存的数据的数据索引,其中,所述数据索引的类型与所述虚拟用户访问的数据类型对应;
基于所述操作请求及所述虚拟用户访问的数据类型,将各虚拟用户与所述资源池中对应的数据索引通过端口建立连接,并触发各虚拟用户对所连接的数据索引对应的数据执行相应的操作;
获取并记录操作过程中产生的性能信息。
2.根据权利要求1所述的方法,其特征在于,所述基于所述操作请求及所述虚拟用户访问的数据类型,将各虚拟用户与所述资源池中对应的数据索引通过端口建立连接包括:
如果所述存储设备中保存有对应的数据时,将各虚拟用户与资源池中对应的数据索引通过端口建立连接;
否则,在所述存储设备中创建对应的数据,在所述资源池中保存所述创建的数据在所述存储设备中的数据索引,并将各虚拟用户与对应的数据索引通过端口建立连接。
3.根据权利要求1所述的方法,其特征在于,所述获取并记录操作过程中产生的性能信息包括:
获取并记录各虚拟用户对所连接的数据索引对应的数据执行相应的操作所占用的带宽;或者,
获取并记录所述各虚拟用户对所连接的数据索引对应的数据执行相应的操作的响应时间;或者,
获取并记录事务数信息,所述事务数信息用于指示所述各虚拟用户对所连接的数据索引对应的数据执行相应的操作过程中的读写次数;或者,
获取并记录所述为虚拟用户产生操作请求的类型;或者,
获取并记录所述为虚拟用户产生操作请求的操作次数。
4.根据权利要求1至3任一项所述的方法,其特征在于,还包括:
测试结束后,识别出不再使用的虚拟用户,并释放所述不再使用的虚拟用户占用的内存空间。
5.根据权利要求1至3任一项所述的方法,其特征在于,还包括:
测试结束后,销毁资源池中的数据索引,或者,将资源池信息记录到文件中。
6.一种对存储设备进行性能测试的装置,其特征在于,包括:
配置文件读取模块,用于读取预置的配置文件;
操作请求产生模块,用于根据所述配置文件指定的虚拟用户的操作行为信息,创建虚拟用户,并生成与所述虚拟用户对应的操作请求;
操作请求调度模块,用于按照所述配置文件中指定的调度方式,将所述操作请求发送到资源池;所述资源池用于保存存储设备中保存的数据的数据索引,其中,所述数据索引的类型与所述虚拟用户访问的数据类型对应;
操作执行模块,用于基于所述操作请求及所述虚拟用户访问的数据类型,将各虚拟用户与所述资源池中对应的数据索引通过端口建立连接,并触发各虚拟用户对所连接的数据索引对应的数据执行相应的操作;
性能信息获取模块,用于获取并记录操作过程中产生的性能信息。
7.根据权利要求6所述的装置,其特征在于,所述操作执行模块包括:
连接建立子模块,用于如果所述存储设备中保存有对应的数据时,将各虚拟用户与资源池中对应的数据索引通过端口建立连接;否则,在所述存储设备中创建对应的数据,在所述资源池中保存所述创建的数据在所述存储设备中的数据索引,并将各虚拟用户与对应的数据索引通过端口建立连接;
触发子模块,用于触发各虚拟用户对所连接的数据索引对应的数据执行相应的操作。
8.根据权利要求6所述的装置,其特征在于,所述性能信息获取模块包括:
第一获取子模块,用于当所述操作执行模块触发各虚拟用户对所连接的数据索引对应的数据执行相应的操作时,获取并记录所述操作占用的带宽;或者,
第二获取子模块,用于当所述操作执行模块触发各虚拟用户对所连接的数据索引对应的数据执行相应的操作时,获取并记录所述操作的响应时间;或者,
第三获取子模块,用于获取并记录事务数信息,所述事务数信息用于指示所述各虚拟用户对所连接的数据索引对应的数据执行相应的操作过程中的读写次数;或者,
第四获取子模块,用于获取并记录所述操作请求产生模块产生的所述操作请求的类型;或者,
第五获取子模块,用于获取并记录所述操作请求产生模块产生的所述操作请求的操作次数。
9.根据权利要求6至8任一项所述的装置,其特征在于,还包括:
虚拟用户管理单元,用于测试结束后,识别出不再使用的虚拟用户对象,并释放所述不再使用的虚拟用户对象占用的内存空间。
10.根据权利要求6至8任一项所述的装置,其特征在于,还包括:
资源管理单元,用于测试结束后,销毁资源池中的数据索引,或者,将资源池信息记录到文件中。
CN2009102617151A 2009-12-28 2009-12-28 一种对存储设备进行性能测试的方法及装置 Expired - Fee Related CN101727394B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102617151A CN101727394B (zh) 2009-12-28 2009-12-28 一种对存储设备进行性能测试的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102617151A CN101727394B (zh) 2009-12-28 2009-12-28 一种对存储设备进行性能测试的方法及装置

Publications (2)

Publication Number Publication Date
CN101727394A true CN101727394A (zh) 2010-06-09
CN101727394B CN101727394B (zh) 2011-09-07

Family

ID=42448312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102617151A Expired - Fee Related CN101727394B (zh) 2009-12-28 2009-12-28 一种对存储设备进行性能测试的方法及装置

Country Status (1)

Country Link
CN (1) CN101727394B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102158373A (zh) * 2011-05-12 2011-08-17 哈尔滨工业大学 面向银行中间业务的高端服务器性能评测系统
CN102184746A (zh) * 2010-12-31 2011-09-14 中国传媒大学 一种基于粒子群算法优化参数的存储性能测试系统及方法
CN102970575A (zh) * 2012-10-12 2013-03-13 中央电视台 一种播出存储设备选型测试方法
CN103023726A (zh) * 2012-12-24 2013-04-03 云海创想信息技术(北京)有限公司 测试网络存储设备最大主机连接数的方法及系统
CN103425715A (zh) * 2012-05-25 2013-12-04 百度在线网络技术(北京)有限公司 一种确定图片文本标注的方法和系统
CN103514957A (zh) * 2012-06-15 2014-01-15 北京百度网讯科技有限公司 Ssd测试方法及系统
CN103544098A (zh) * 2012-07-10 2014-01-29 百度在线网络技术(北京)有限公司 一种压力测试的方法和装置
CN106998468A (zh) * 2017-04-25 2017-08-01 郑州云海信息技术有限公司 一种视频服务器性能测试的方法及系统
CN107229564A (zh) * 2016-03-25 2017-10-03 阿里巴巴集团控股有限公司 一种压力模拟方法及装置
CN107656871A (zh) * 2017-09-30 2018-02-02 郑州云海信息技术有限公司 一种基于Postmark的后端存储性能自动化测试方法
CN111078527A (zh) * 2019-11-08 2020-04-28 北京深思数盾科技股份有限公司 用于对服务器进行压力测试的辅助系统以及方法
CN111404978A (zh) * 2019-09-06 2020-07-10 杭州海康威视系统技术有限公司 一种数据存储方法及云存储系统
CN113722236A (zh) * 2021-09-18 2021-11-30 网易(杭州)网络有限公司 游戏调试方法、装置、设备、存储介质及程序产品

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100440383C (zh) * 2006-12-15 2008-12-03 北京中星微电子有限公司 外部存储性能测试方法和装置
CN100501695C (zh) * 2006-12-25 2009-06-17 中国电信股份有限公司 应用软件在生产环境下的性能预测方法
CN101576844A (zh) * 2008-05-09 2009-11-11 北京世纪拓远软件科技发展有限公司 软件系统性能测试方法和系统

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184746A (zh) * 2010-12-31 2011-09-14 中国传媒大学 一种基于粒子群算法优化参数的存储性能测试系统及方法
CN102158373A (zh) * 2011-05-12 2011-08-17 哈尔滨工业大学 面向银行中间业务的高端服务器性能评测系统
CN102158373B (zh) * 2011-05-12 2013-06-05 哈尔滨工业大学 面向银行中间业务的高端服务器性能评测系统
CN103425715A (zh) * 2012-05-25 2013-12-04 百度在线网络技术(北京)有限公司 一种确定图片文本标注的方法和系统
CN103425715B (zh) * 2012-05-25 2016-06-29 百度在线网络技术(北京)有限公司 一种确定图片文本标注的方法和系统
CN103514957A (zh) * 2012-06-15 2014-01-15 北京百度网讯科技有限公司 Ssd测试方法及系统
CN103544098A (zh) * 2012-07-10 2014-01-29 百度在线网络技术(北京)有限公司 一种压力测试的方法和装置
CN103544098B (zh) * 2012-07-10 2017-12-12 百度在线网络技术(北京)有限公司 一种压力测试的方法和装置
CN102970575B (zh) * 2012-10-12 2014-04-30 中央电视台 一种播出存储设备选型测试方法
CN102970575A (zh) * 2012-10-12 2013-03-13 中央电视台 一种播出存储设备选型测试方法
CN103023726A (zh) * 2012-12-24 2013-04-03 云海创想信息技术(北京)有限公司 测试网络存储设备最大主机连接数的方法及系统
CN107229564B (zh) * 2016-03-25 2020-12-11 阿里巴巴集团控股有限公司 一种压力模拟方法及装置
CN107229564A (zh) * 2016-03-25 2017-10-03 阿里巴巴集团控股有限公司 一种压力模拟方法及装置
CN106998468A (zh) * 2017-04-25 2017-08-01 郑州云海信息技术有限公司 一种视频服务器性能测试的方法及系统
CN106998468B (zh) * 2017-04-25 2018-11-16 郑州云海信息技术有限公司 一种视频服务器性能测试的方法及系统
CN107656871A (zh) * 2017-09-30 2018-02-02 郑州云海信息技术有限公司 一种基于Postmark的后端存储性能自动化测试方法
CN107656871B (zh) * 2017-09-30 2021-02-05 苏州浪潮智能科技有限公司 一种基于Postmark的后端存储性能自动化测试方法
CN111404978A (zh) * 2019-09-06 2020-07-10 杭州海康威视系统技术有限公司 一种数据存储方法及云存储系统
CN111078527A (zh) * 2019-11-08 2020-04-28 北京深思数盾科技股份有限公司 用于对服务器进行压力测试的辅助系统以及方法
CN113722236A (zh) * 2021-09-18 2021-11-30 网易(杭州)网络有限公司 游戏调试方法、装置、设备、存储介质及程序产品
CN113722236B (zh) * 2021-09-18 2023-08-08 网易(杭州)网络有限公司 游戏调试方法、装置、设备、存储介质

Also Published As

Publication number Publication date
CN101727394B (zh) 2011-09-07

Similar Documents

Publication Publication Date Title
CN101727394B (zh) 一种对存储设备进行性能测试的方法及装置
US6279124B1 (en) Method and system for testing hardware and/or software applications
US6295557B1 (en) Apparatus for simulating internet traffic
CN107294808A (zh) 接口测试的方法、装置和系统
JPH06208472A (ja) プロセス制御方法及びシステム
CN108600045A (zh) 一种服务链路监控方法及装置
CN110061910A (zh) 一种语音短消息的处理方法、设备及介质
CN111324480A (zh) 大型主机交易故障定位系统及方法
CN114610597A (zh) 一种压力测试方法、装置、设备及存储介质
CN101060683B (zh) 通信系统中告警信息的生成方法及装置
CN111913861A (zh) 物联网系统的性能测试方法、装置、设备及介质
CN110618881B (zh) 一种模拟消息队列的方法及系统
KR20130067959A (ko) 어플리케이션 오류 처리 방법 및 장치
CN111459547B (zh) 一种函数调用链路的展示方法和装置
CN112148917B (zh) 媒体播放控制方法、装置及系统和计算机可读存储介质
CN112416995B (zh) 一种数据统计方法、装置、计算机设备及存储介质
JP2549251B2 (ja) ライブ・データ用の注釈記録の作成方法
CN109885442A (zh) 性能分析方法、装置、设备及存储介质
US8977901B1 (en) Generating service call patterns for systems under test
CN117667604B (zh) 追踪事件的数据监测方法、装置、电子设备及存储介质
JPH06208487A (ja) ディスプレイ方法及びディスプレイシステム
WO2023221004A1 (zh) 测试数据处理方法、装置、电子设备及存储介质
US20220269586A1 (en) Systems and methods for automating test and validity
CN101551802B (zh) 用于一管理系统的文件存取方法
CN111176968B (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
C56 Change in the name or address of the patentee

Owner name: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: FORMER NAME: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee after: Huawei Symantec Technologies Co., Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee before: Chengdu Huawei Symantec Technologies Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110907

Termination date: 20171228

CF01 Termination of patent right due to non-payment of annual fee