一种面向分布式系统性能测试的测试资源管理方法与流程

文档序号:11995609阅读:994来源:国知局
一种面向分布式系统性能测试的测试资源管理方法与流程
本发明涉及一种面向分布式系统性能测试的测试资源管理方法,属于软件技术领域。

背景技术:
分布式系统以客户端/服务器或浏览器/服务器的方式部署,此类系统的性能测试通过自动化的测试工具模拟正常、峰值以及异常的负载条件来对服务器端系统的各项性能指标进行测试,验证系统能否达到用户提出的性能指标,同时发现系统存在的性能瓶颈。性能测试根据测试需求模拟不同规模的负载量,需要大量的测试软件和硬件投入,是典型的资源密集型工作。不同规模负载的测试需求意味着性能测试所需要的软硬件资源规模是动态变化的,而根据峰值需求配置软硬件资源将会带来大量的资源投入和严重的资源浪费。云计算是一种新型的计算模式,具有资源池化管理、多租户共享、弹性供给等特性,本质上是一种新型的资源管理和使用模式。云计算为系统性能测试提供了新的发展机遇。基于云计算的性能测试服务屏蔽了软硬件测试资源的管理复杂性,并将测试资源集中管理,形成测试资源池。测试资源池可以同时为多个租户提供测试服务,称为多租户共享。这种共享模式在提高资源利用率的同时,也带来了租户之间的性能干扰问题。当测试资源相对有限,或者租户对测试资源的使用量增加时,不同租户之间对共享测试资源的争用会造成性能干扰,进而导致租户的服务等级目标(Service-LevelObjective,简称SLO)违约,影响租户服务质量的公平性。例如,性能干扰会导致无法在租户期望的时间内完成测试任务。

技术实现要素:
本发明的目的在于提供一种面向分布式系统性能测试的测试资源管理方法,在通过多租户共享提高测试资源利用率的同时,避免租户之间的性能干扰,保障租户服务等级目标要求。本发明技术解决方案:为了实现上述目的,本发明方法主要包括以下要素:测试资源、测试资源池、负载发生器、计算机服务器、等待队列、测试任务。(1)测试资源测试资源表示性能测试所需的软件、硬件资源。(2)测试资源池测试资源池是测试资源的池化体现,它包括一组测试资源。(3)测试任务测试任务定义负载发生量、测试时长以及测试期限(租户期望测试任务完成的时间,即SLO)等,由租户提交给测试资源执行。(4)负载发生器负载发生器是测试资源中的软件资源,用于生成测试任务所要求的负载。(5)计算机服务器计算机服务器是运行负载发生器的硬件资源,可以是虚拟机或物理机。在本发明中,将安装了负载发生器的计算机服务器作为测试资源的基本单元。(6)等待队列测试资源包含一个等待队列,用于对测试任务进行排队。当测试资源正在执行测试任务时,新提交的测试任务将进入其等待队列。在上述要素基础上,本发明方法使用等待、插入、分发、初始化四种测试资源管理策略,进行测试任务的准入和调度,其中:(1)等待策略表示将测试任务加入到给定测试资源的等待队列的队尾。(2)插入策略表示将测试任务放置在给定测试资源的等待队列的某个位置。该策略将影响等待队列中已经存在的测试任务的等待时间。(3)分发策略表示将测试任务的负载发生量进行等量划分,分发给多个测试资源并行执行。(4)初始化策略将测试任务分配给未执行任何测试任务的空闲测试资源。利用上述策略,针对每个租户提交的测试任务,本发明通过以下步骤实现测试任务的准入和调度:1、统计测试资源池中所有正在执行测试任务的非空闲测试资源;2、针对步骤1中统计得到的非空闲测试资源,根据每一个测试资源的配置计算其最大负载发生量并进行排序,得到升序排列集合;3、针对步骤2得到的集合,将集合中各个测试资源的最大负载发生量与新提交测试任务的负载发生量进行比较,搜索最大负载发生量比测试任务所需负载发生量大的第一个测试资源;如果存在,则进入步骤4,否则进入步骤6;4、从集合中步骤3所选的测试资源至最后一个测试资源进行遍历,判断是否存在测试资源,能够通过等待策略或者插入策略满足该测试任务的服务水平目标;如果存在,则由所选测试资源执行测试任务,否则进入步骤5;5、遍历集合中位于步骤3所选测试资源之前的所有测试资源,即遍历最大负载发生量小于测试任务的负载发生量的测试资源,判断是否存在两个测试资源,能够通过分发策略和等待策略满足测试任务的服务水平目标;如果存在,则由所选测试资源执行测试任务,否则进入步骤6;6、遍历测试资源池中的所有空闲测试资源,判断是否存在一个空闲测试资源,能够通过初始化策略满足测试任务的服务水平目标;如果存在,则由所选测试资源执行测试任务;如果不存在,则判断是否存在一组空闲测试资源,能够通过分发策略和初始化策略,满足测试任务的服务水平目标;如果存在,则由所选测试资源执行测试任务;如果不存在,则拒绝执行测试任务。本发明提出一种面向分布式系统性能测试的测试资源管理方法,针对多租户共享的测试资源,进行租户测试任务的准入和调度,保障了租户服务质量。本发明方法具有以下优点:(1)本发明方法通过引入四种不同的资源管理策略对测试任务进行准入和调度,在实现测试资源共享的同时,保障了租户服务质量。(2)本发明方法根据测试任务对测试资源的需求,实现测试资源的弹性供给,同时,能够适应测试资源池规模的动态变化,满足云计算的弹性资源管理需求。附图说明图1为本发明的基于虚拟机的测试资源池的基本组成结构;图2为本发明中等待策略流程图;图3为本发明中插入策略流程图;图4为本发明中分发策略流程图;图5为本发明中初始化策略流程图;图6为本发明方法的实现流程图。具体实施方式以下结合具体实施例和附图对本发明作更详细的说明。本发明实施例的使用环境是基于虚拟机的分布式系统性能测试平台,该平台使用云计算模式中常用的虚拟机(VM)搭建测试资源池。在本实施例的测试资源池中,每个虚拟机实例代表一个测试资源,并部署一个负载发生器实例以及等待队列,结构如图1所示。进一步,本发明方法针对租户提交的测试任务进行准入和调度,保障租户的服务质量。在基于虚拟机的分布式系统性能测试平台中,针对测试资源池中的每个虚拟机实例的具体配置(CPU、内存、网络等),估算该测试资源的最大负载发生量;租户通过平台设置测试任务的负载发生量、测试时长以及测试期限等信息。当测试任务提交时,本发明方法结合测试资源的最大负载发生量评估值与测试任务的相关信息,利用等待、插入、分发、初始化等四种测试资源管理策略,进行测试任务的准入和调度。在本实施例中,等待、插入、分发、初始化等四种测试资源管理策略的具体流程如下:1)等待策略等待策略的具体实施方式如图2所示。首先,遍历测试资源池内所有正在执行测试任务的虚拟机实例,判断是否存在一个虚拟机实例,测试任务加入其等待队列后,能够保证该任务的测试期限要求。如果存在,则将测试任务加入所选虚拟机实例的等待队列的队尾,并返回True。如果不存在,则返回False。2)插入策略插入策略的具体实施方式如图3所示。首先,遍历测试资源池内所有正在执行测试任务的虚拟机实例,判断是否存在一个虚拟机实例,通过对其等待队列中已经接受的测试任务的执行时间进行调整,产生空闲时间,并将新提交的测试任务安排在空闲时间内从而满足队列内所有任务的测试期限要求。如果存在,则将测试任务插入到所选虚拟机实例的等待队列,并返回True。如果不存在,则返回False。3)分发策略分发策略的具体实施方式如图4所示。首先,将测试任务依照负载发生量等分为若干子任务,然后遍历测试资源池内所有正在执行测试任务的虚拟机实例,判断是否存在与子任务等量的虚拟机实例,可以按照等待策略执行这些子任务,并保证所有子任务同时启动。如果存在,则将子任务分配到的所选虚拟机实例的等待队列末尾,并返回True。如果不存在,则返回False。4)初始化策略初始化策略的具体实施方式如图5所示。首先,遍历测试资源池内所有空闲虚拟机实例,判断是否存在一个虚拟机实例,能够保证测试任务的测试期限要求。如果存在,则将所选虚拟机实例进行初始化,启动负载发生器,并将测试任务加入所选虚拟机实例的等待队列的队尾,返回True。如果不存在,则返回False。利用上述策略,如图6所示,本实施例的具体实现流程如下:1、统计测试资源池中所有正在执行测试任务的虚拟机实例,数量为N;2、针对步骤1中的N个虚拟机实例,根据虚拟机的资源配置计算虚拟机实例VMi的最大负载发生量LCmaxi(1≤i≤N)并进行升序排序,得到N个虚拟机实例的升序排列集合,使得LCmaxi<LCmaxj,且i<j;3、针对步骤2得到的集合,将集合中各虚拟机实例的最大负载发生量LCmaxi与新提交的测试任务的负载发生量LCnew进行对比,判断是否能够找到第K个虚拟机实例VMK,使得LCmaxK-1≤LCnew<LCmaxK;如果存在,则进入步骤4,否则进入步骤6;4、对集合中的VMK至VMN进行遍历,判断是否存在一个虚拟机实例,能够通过等待策略或者插入策略满足测试任务的服务水平目标;如果存在,则由所选虚拟机实例执行测试任务,否则进入步骤5;5、对集合中的VM1至VMK-1进行遍历,判断是否存VMe和VMf(0<e<f<K),能够通过分发策略和等待策略满足测试任务的服务水平目标;如果存在,则由所选的两个虚拟机实例执行测试任务,否则进入步骤6;6、遍历测试资源池中的所有空闲虚拟机实例,判断是否存在一个空闲虚拟机实例,能够通过初始化策略满足测试任务的服务水平目标;如果存在,则由所选虚拟机实例执行新的测试任务;如果不存在,则遍历测试资源池中的所有空闲虚拟机实例,判断是否存在一组空闲虚拟机实例,能够通过分发策略和初始化策略满足测试任务的服务水平目标;如果存在,则由所选虚拟机实例执行测试任务;如果不存在,则拒绝执行测试任务。本发明未详细阐述部分属于本领域公知技术。以上所述,仅为本发明部分具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1