分散式压力测试系统及其方法

文档序号:7997888阅读:282来源:国知局
分散式压力测试系统及其方法
【专利摘要】本发明公开一种分散式压力测试系统及其方法,通过测试服务端传送不同的测试指令至对应的测试端,使各测试端根据测试指令对待测端进行压力测试,并且在测试服务端传送回传请求后,由待测端将测试结果传送至测试服务端,以便测试服务端根据测试结果调整压力直到性能指标符合预设的门槛参数为止,用以达成提高压力测试的真实性的技术功效。
【专利说明】分散式压力测试系统及其方法

【技术领域】
[0001]本发明涉及一种压力测试系统,特别是指一种由测试服务端控制不同的测试端,对待测端进行压力测试的分散式压力测试系统及其方法。

【背景技术】
[0002]近年来,随着网络的普及与云端技术的蓬勃发展,吸引了许多厂商投入服务器的建置,由于服务器提供的服务不同,导致服务器的规格、设置环境与零组件种类也存在差异,因此,为了确认服务器是否符合要求而进行的压力测试便成必要的程序之一。
[0003]一般而言,压力测试的方式是直接在服务器上执行测试程序来检测服务器的各项性能指标。然而,由于实际上服务器是运作在网络环境中,上述方式并未将实际的网络因素考量在内,所以将导致测试结果可能存在相当大的误差,进而产生测试真实性不足的问题。
[0004]有鉴于此,便有厂商提出一种基于网络的压力测试方式,通过网络将待测的服务器与测试主机相互连接,并且由测试主机对待测的服务器施加压力以进行压力测试。如此一来,藉由实际的网络环境即可增加测试的真实性。然而,上述方式仅为对单一服务器的测试方式,无法真实模拟整个机柜内的所有相关设备同时处理不同测试主机的测试请求。因此,上述方式仍然无法有效解决真实性不足的问题。
[0005]综上所述,可知现有技术中长期以来一直存在压力测试的真实性不足的问题,因此实有必要提出改进的技术手段,来解决此一问题。


【发明内容】

[0006]本发明揭露一种分散式压力测试系统及其方法。
[0007]首先,本发明揭露一种分散式压力测试系统,此系统包含:测试端、待测端及测试服务端。其中,测试端用以在接收到测试指令后,执行此测试指令以产生并传送对应性能指标的测试数据;待测端包含以网络相互连接的不同配置的服务器或储存装置,用以接收启动信息以启动预设在待测端的服务程序,以及侦测所述服务程序在处理来自各测试端的测试数据时的服务器或储存装置的状态以生成包含所有性能指标的测试结果,并且在接收到回传请求时传送测试结果。
[0008]至于测试服务端则包含:储存模块、初始模块、筛选模块及调整模块。其中,储存模块用以预先储存门槛参数;初始模块用以于初始时传送不同的测试指令至各测试端、传送启动信息及回传请求至待测端,以及从待测端接收测试结果;筛选模块用以将测试结果与门槛参数进行比对,并且筛选出测试结果中不符合门槛参数的性能指标;以及调整模块用以根据筛选出的性能指标选择调整传送至测试端的测试指令以调整对应的测试数据直到所有性能指标均符合门槛参数为止。
[0009]另外,本发明揭露一种分散式压力测试方法,其步骤包括:预先在测试服务端提供门槛参数;此测试服务端于初始时传送不同的测试指令至测试端、传送启动信息及回传请求至待测端,所述待测端包含以网络相互连接的不同配置的服务器或储存装置;每一测试端在接收到测试指令后,执行测试指令以产生并传送对应性能指标的测试数据;待测端接收启动信息以启动预设在待测端的服务程序,以及侦测所述服务程序在处理来自各测试端的测试数据时的服务器或储存装置的状态以生成包含所有性能指标的测试结果,并且在接收到来自测试服务端的回传请求时传送此测试结果至测试服务端;测试服务端将此测试结果与门槛参数进行比对,并且筛选出测试结果中不符合门槛参数的性能指标;测试服务端根据筛选出的性能指标选择调整传送至每一测试端的测试指令以调整对应的测试数据直到所有性能指标均符合门槛参数为止。
[0010]本发明所揭露的系统与方法如上,与现有技术的差异在于本发明是通过测试服务端传送不同的测试指令至对应的测试端,使各测试端根据测试指令对待测端进行压力测试,并且在测试服务端传送回传请求后,由待测端将测试结果传送至测试服务端,以便测试服务端根据测试结果调整压力直到性能指标符合预设的门槛参数为止。
[0011]通过上述的技术手段,本发明可以达成提高压力测试的真实性的技术功效。

【专利附图】

【附图说明】
[0012]图1为本发明分散式压力测试系统的系统方块图。
[0013]图2为本发明分散式压力测试方法的方法流程图。
[0014]图3为本发明分散式压力测试的步骤的示意图。
[0015]图4为应用本发明调整测试压力的步骤的示意图。
[0016]【符号说明】
[0017]110测试端
[0018]111、112 测试端
[0019]120待测立而
[0020]121服务器
[0021]122储存装置
[0022]130测试服务端
[0023]131储存模块
[0024]132初始模块
[0025]133筛选模块
[0026]134调整模块

【具体实施方式】
[0027]以下将配合图式及实施例来详细说明本发明的实施方式,藉此对本发明如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
[0028]在说明本发明所揭露的分散式压力测试系统及其方法之前,先对本发明所应用的环境作说明,本发明是应用具有测试服务端、测试端及待测端的架构中,并且三者能够通过网络或连接线相互进行通讯,另外,测试服务端及测试端皆是以计算机来进行实现,所述计算机可为个人电脑、笔记型电脑、平板电脑、智能手机或个人数字助理……等设备。至于待测端则是指整体的机柜(Rack)设备,包含以网络相互连接的不同配置的服务器或储存装置。
[0029]以下配合图式对本发明分散式压力测试系统及其方法做进一步说明,请参阅「图1」,「图1」为本发明分散式压力测试系统的系统方块图,其系统包含:测试端110、待测端120及测试服务端130。其中,测试端110用以接收测试指令,并且在接收到测试指令后,执行此测试指令以产生并传送对应性能指标的测试数据。举例来说,在测试中央处理器(Central Processing Unit, CPU)的计算能力的情况下,测试端110会接收到用来测试CPU计算能力的测试指令,并执行此测试指令以产生专门用来测试CPU计算能力的测试数据,且将此测试数据传送至待测端120。在实际实施上,可使用K个测试端110来进行不同的压力测试,其中K为正整数且大于数值“I”。换句话说,测试端110的数量为二个或二个以上分别对不同的性能指标进行测试。
[0030]待测端120包含以网络(例如:交换机)相互连接的不同配置的服务器121或储存装置122,用以接收启动信息以启动预设在待测端120的服务程序,以及侦测所述服务程序在处理来自各测试端110的测试数据时的服务器121或储存装置122的状态以生成包含所有性能指标的测试结果,并且在接收到回传请求时传送此测试结果。在实际实施上,所述待测端120为压力测试的待测端,此待测端120接收来自测试服务端130的启动信息用以启动预设在待测端120的服务程序,例如:网页服务、数据传输服务……等等。接着,已经启动的服务程序在处理测试数据时的服务器121或储存装置122的状态会被待测端120所侦测,如此一来,待测端120便可根据侦测结果产生包含所有性能指标的测试结果,例如:性能指标可为CPU使用率、存储器使用率、带宽使用率……等等。特别要说明的是,待测端120可根据提供的不同服务而有不同的硬体配置,例如:提供计算服务则服务器121可配置多个CPU、提供数据库服务则服务器121配置大量存储器、提供储存服务则储存装置122配置多个硬盘……等等。
[0031]至于测试服务端130则包含:储存模块131、初始模块132、筛选模块133及调整模块134。其中,储存模块131用以预先储存门槛参数,此门槛参数至少包含中央处理器、存储器、硬盘或网络带宽的性能指标,例如:将中央处理器的性能指标记录为“CPU ;80%”;将存储器的性能指标记录为“MEM ;50%” ;将硬盘的性能指标记录为“HDD ;2%” ;将网络带宽的性能指标记录为“NET ;10%”。在实际实施上,可藉由门槛参数来判断各项性能指标是否超过预设的门槛,进而判断是否要调整压力测试的压力,其调整方式是调整传送至测试端110的测试指令以调整对应的测试数据。
[0032]初始模块132用以于初始时传送不同的测试指令至测试端110、传送启动信息及回传请求至待测端120,以及从待测端120接收测试结果。在实际实施上,初始模块132会先将不同的测试指令传送至各测试端110,而且同时传送启动信息制待测端120以启动待测端120的服务程序,接着再传送回应请求至待测端120要求待测端120回传测试结果,以及接收待测端120所回传的测试结果。
[0033]筛选模块133用以将接收自待测端120的测试结果与储存模块131预设的门槛参数进行比对,并且筛选出测试结果中不符合门槛参数的性能指标。举例来说,假设测试结果中记录的性能指标为“CPU ;80%”,而预设的门槛参数记录的性能指标为“CPU ;70%”,代表CPU使用率超过门槛参数,所以将判断为不能达到要求(即不符合门槛参数的性能指标),故将此性能指标(CPU使用率)筛选出来。特别要说明的是,本发明并未以此例限定测试结果及门槛参数的记录方式,换句话说,只要能够用以比对测试结果与门槛参数且判断是否超过门槛的方式皆不脱离本发明的应用范畴。
[0034]调整模块134用以根据筛选出的性能指标选择调整传送至各测试端110的测试指令以调整对应的测试数据(也就是调整测试的压力)直到所有性能指标均符合门槛参数为止。在实际实施上,假设只有其中一个性能指标超过预设的门槛(即只筛选出一个性能指标),调整模块134会调整未筛选出的性能指标所对应的测试指令以使压力减半,当压力减半后,仍然筛选出相同的性能指标时则再次调整未筛选出的性能指标所对应的测试指令以使压力降低至10%,当压力降低至10%后,仍然筛选出相同的性能指标时,则调整筛选出的性能指标所对应的测试指令直到此性能指标不再被筛选出来为止,并且调整未筛选出的性能指标所对应的测试指令以使压力增加直到性能指标不符合门槛参数为止。特别要说明的是,当压力减半后或压力降低至10%后,且性能指标不被筛选出时,分别调整其他未筛选出的性能指标以使压力增加至不符合门槛参数为止。另外,假设调整模块134在筛选出的性能指标的数量为多个时,先调整每一个筛选出的性能指标所对应的测试指令以使压力降低至性能指标符合门槛参数后,再针对各性能指标进行调整。
[0035]接着,请参阅「图2」,「图2」为本发明分散式压力测试方法,其步骤包括:预先在测试服务端130提供门槛参数(步骤210);测试服务端130于初始时传送不同的测试指令至K个测试端110、传送启动信息及回传请求至待测端120,其中K为正整数且大于数值1,待测端包含以网络相互连接的不同配置的服务器121或储存装置122 (步骤220);每一测试端110在接收到测试指令后,执行此测试指令以产生并传送对应性能指标的测试数据(步骤230);待测端120接收启动信息以启动预设在待测端120的服务程序,以及侦测所述服务程序在处理来自各测试端110的测试数据时的服务器121或储存装置122的状态以生成包含所有性能指标的测试结果,并且在接收到来自测试服务端130的回传请求时传送测试结果至测试服务端130 (步骤240);测试服务端130将测试结果与门槛参数进行比对,并且筛选出测试结果中不符合门槛参数的性能指标(步骤250);测试服务端130根据筛选出的性能指标选择调整传送至每一测试端110的测试指令以调整对应的测试数据直到所有性能指标均符合门槛参数为止(步骤260)。通过上述步骤,即可通过测试服务端130传送不同的测试指令至对应的测试端110,使各测试端110根据测试指令对待测端120进行压力测试,并且在测试服务端130传送回传请求后,由待测端120将测试结果传送至测试服务端130,以便测试服务端130根据测试结果调整压力直到所有性能指标均符合预设的门槛参数为止。
[0036]以下配合「图3」及「图4」以实施例的方式进行如下说明,请先参阅「图3」,「图3」为本发明分散式压力测试的步骤的示意图。其中,“A”及“B”为待测端120所提供的服务程序的性能指标,在此例中,由于有二个性能指标“A”及“B”,所以使用二个测试端110来分别对相应的性能指标进行压力测试,其中,测试服务端130的步骤如下:(1)由测试服务端130传送测试指令至测试端111,以及传送启动信息至待测端120 ; (2)由测试服务端130传送测试指令至测试端112,以及传送启动信息至待测端120 ;(3)由测试服务端130传送回传请求至待测端120 ; (4)测试服务端130接收待测端120回传的测试结果。
[0037]如「图4」所示意,「图4」为应用本发明调整测试压力的步骤的示意图。前面提到,测试服务端130会接收待测端120回传的测试结果,此时,测试服务端130的筛选模块133会将此测试结果与储存模块131中预先储存的门槛参数进行比对,并且筛选出测试结果中不符合门槛参数的性能指标。以上例而言,假设性能指标“A”不符合门槛参数,调整模块134会调整传送至测试端111的测试指令以调整对应的测试数据直到性能指标“A”符合门槛参数。此外,也可调整传送至测试端112的测试指令以调整性能指标“B”直到性能指标“A”符合门槛参数为止。另外,假设具有三个性能指标及“C”的情况,倘若性能指标“A”不符合门槛参数,可先调整传送至测试端111的测试指令以调整对应的测试数据直到性能指标“A”符合门槛参数,此时可得知在性能指标“B”及“C”的情况下,性能指标“A”所能达到的最大指标,其次分别调整与性能指标“B”及“C”相应的测试指令,看调整哪一个性能指标能够使性能指标“A”达到要求。特别要说明的是,当发现多个性能指标不符合门槛参数时,需要单独降低每个不符合的性能指标的测试压力使其达到要求,然后再针对每一个性能指标进行调整。在实际实施上,假设性能指标“A”不符合门槛参数(步骤410),亦可分别将性能指标“B”及“C”的测试压力减半(步骤420)后,判断性能指标“A”是否符合门槛参数(步骤430),假设测试压力减半后仍不符合门槛参数则再次将性能指标“B”及“C”的测试压力降低至10% (步骤440),并且判断测试压力降低至10%后,性能指标“A”是否符合门槛参数(步骤450),倘若性能指标“A”仍不符合门槛参数,则降低性能指标“A”的测试压力直到符合门槛参数为止,然后在此基础上调高性能指标“B”及“C”的测试压力直到性能指标“A”不符合门槛参数以得到在此性能指标“A”符合门槛参数的情况下,最大能允许的性能指标“B”及“C”的测试压力。所述性能指标“B”及“C”的调整方式可依序分别调闻。
[0038]承上所述,假设在步骤430时判断性能指标“A”符合门槛参数,则找出性能指标“B”及“C”中哪一个影响性能指标“A”最大,假设是性能指标“C”影响最大,则单独调整性能指标“C”直到性能指标“A”不符合门槛参数以得到在性能指标“A”符合门槛参数的情况下,性能指标“B”及“C”所允许的最大测试压力(步骤431)。另外,假设步骤450时判断出性能指标“A”符合门槛参数,则同样以找出性能指标“B”及“C”中哪一个影响性能指标“A”最大,假设是性能指标“C”影响最大,则单独调整性能指标“C”以便得到使性能指标“A”符合门槛参数的最大值,接着再以同样方式调整另一性能指标“B”,即可得到在性能指标“A”符合门槛参数的情况下,性能指标“B”及“C”所允许的最大测试压力(步骤451)。如此一来,使用者即可根据测试服务端130调整的测试压力及待测端120根据此测试压力所回传的测试结果来实现压力测试。
[0039]综上所述,可知本发明与现有技术之间的差异在于通过测试服务端传送不同的测试指令至对应的测试端,使各测试端根据测试指令对待测端进行压力测试,并且在测试服务端传送回传请求后,由待测端将测试结果传送至测试服务端,以便测试服务端根据测试结果调整压力直到性能指标符合预设的门槛参数为止,藉由此一技术手段可以解决现有技术所存在的问题,进而达成提高压力测试的真实性的技术功效。
[0040]虽然本发明以前述的实施例揭露如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的专利保护范围须视本说明书所附的申请专利范围所界定者为准。
【权利要求】
1.一种分散式压力测试系统,其特征在于,该系统包含: K个测试端,每一测试端在接收到一测试指令后,执行该测试指令以产生并传送对应一性能指标的一测试数据,其中K为正整数且大于数值I ; 一待测端,该待测端包含以网络相互连接的不同配置的服务器或储存装置,用以接收一启动信息以启动预设在该待测端的至少一服务程序,以及侦测所述服务程序在处理来自各测试端的该测试数据时的该服务器或该储存装置的状态以生成包含所有性能指标的一测试结果,并且在接收到一回传请求时传送该测试结果;以及 一测试服务端,该测试服务端包含; 一储存模块,用以预先储存一门槛参数; 一初始模块,用以于初始时传送不同的该测试指令至各测试端、传送该启动信息及该回传请求至该待测端,以及自该待测端接收该测试结果; 一筛选模块,用以将该测试结果与该门槛参数进行比对,并且筛选出该测试结果中不符合该门槛参数的性能指标;以及 一调整模块,用以根据筛选出的性能指标选择调整传送至每一测试端的该测试指令以调整对应的该测试数据直到所有性能指标均符合该门槛参数为止。
2.根据权利要求1的分散式压力测试系统,其特征在于,该调整模块在筛选出的性能指标的数量为一个时,调整未筛选出的性能指标所对应的测试指令以使压力减半,当压力减半后,筛选出的性能指标仍然相同时则再次调整未筛选出的性能指标所对应的测试指令以使压力降低至10%,当压力降低至10%后,筛选出的性能指标仍然相同时,调整筛选出的性能指标所对应的测试指令直到该性能指标不再被筛选出为止,并且调整未筛选出的性能指标所对应的测试指令以使压力增加直到性能指标不符合该门槛参数为止。
3.根据权利要求1的分散式压力测试系统,其特征在于,该调整模块在筛选出的性能指标的数量为多个时,先调整每一筛选出的性能指标所对应的测试指令以使压力降低至性能指标符合该门槛参数后,再针对各性能指标进行调整。
4.根据权利要求2的分散式压力测试系统,其特征在于,当压力减半后或压力降低至10%后,性能指标不被筛选出时,分别调整其他未筛选出的性能指标以使压力增加至不符合该门滥参数为止。
5.根据权利要求1的分散式压力测试系统,其特征在于,该门槛参数至少包含中央处理器、存储器、硬盘或网络带宽的性能指标。
6.根据权利要求1的分散式压力测试系统,其特征在于,所述不同配置的服务器或储存装置设置于整体机柜中。
7.一种分散式压力测试方法,其特征在于,步骤包括: 预先在一测试服务端提供一门槛参数; 该测试服务端于初始时传送不同的一测试指令至K个测试端、传送一启动信息及一回传请求至一待测端,其中K为正整数且大于数值1,该待测端包含以网络相互连接的不同配置的服务器或储存装置; 每一测试端在接收到测试指令后,执行该测试指令以产生并传送对应一性能指标的一测试数据; 待测端接收该启动信息以启动预设在该待测端的至少一服务程序,以及侦测所述服务程序在处理来自各测试端的测试数据时的该服务器或该储存装置的状态以生成包含所有性能指标的一测试结果,并且在接收到来自该测试服务端的该回传请求时传送该测试结果至该测试服务端; 该测试服务端将该测试结果与该门槛参数进行比对,并且筛选出该测试结果中不符合该门滥参数的性能指标;以及 该测试服务端根据筛选出的性能指标选择调整传送至每一测试端的该测试指令以调整对应的该测试数据直到所有性能指标均符合该门槛参数为止。
8.根据权利要求7的分散式压力测试方法,其特征在于,该根据筛选出的性能指标选择调整传送至每一测试端的该测试指令以调整对应的该测试数据的步骤系在筛选出的性能指标的数量为一个时,调整未筛选出的性能指标所对应的测试指令以使压力减半,当压力减半后,筛选出的性能指标仍然相同时则再次调整未筛选出的性能指标所对应的测试指令以使压力降低至10%,当压力降低至10%后,筛选出的性能指标仍然相同时,调整筛选出的性能指标所对应的测试指令直到该性能指标不再被筛选出为止,并且调整未筛选出的性能指标所对应的测试指令以使压力增加直到性能指标不符合该门槛参数为止。
9.根据权利要求7的分散式压力测试方法,其特征在于,该根据筛选出的性能指标选择调整传送至每一测试端的该测试指令以调整对应的该测试数据的步骤系在筛选出的性能指标的数量为多个时,先调整每一筛选出的性能指标所对应的测试指令以使压力降低至性能指标符合该门槛参数后,再针对各性能指标进行调整。
10.根据权利要求8的分散式压力测试方法,其特征在于,当压力减半后或压力降低至10%后,性能指标不被筛选出时,分别调整其他未筛选出的性能指标以使压力增加至不符合该门滥参数为止。
11.根据权利要求7的分散式压力测试方法,其特征在于,该门槛参数至少包含中央处理器、存储器、硬盘或网络带宽的性能指标。
12.根据权利要求7的分散式压力测试方法,其特征在于,所述不同配置的服务器或储存装置设置于整体机柜中。
【文档编号】H04L12/26GK104079445SQ201310108785
【公开日】2014年10月1日 申请日期:2013年3月29日 优先权日:2013年3月29日
【发明者】柏源 申请人:英业达科技有限公司, 英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1