CN105281979A - 一种面向虚拟化应用平台的负载测试方法 - Google Patents
一种面向虚拟化应用平台的负载测试方法 Download PDFInfo
- Publication number
- CN105281979A CN105281979A CN201510710958.4A CN201510710958A CN105281979A CN 105281979 A CN105281979 A CN 105281979A CN 201510710958 A CN201510710958 A CN 201510710958A CN 105281979 A CN105281979 A CN 105281979A
- Authority
- CN
- China
- Prior art keywords
- load
- test
- application system
- virtual machine
- workload generator
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
Abstract
本发明公开了一种面向虚拟化应用平台的负载测试方法,属于计算机软件领域,本发明通过一个测试控制器,利用虚拟化应用平台的共享资源池作为可扩展的负载生成池,实现面向弹性扩展的虚拟化应用平台负载测试。本发明的方法通过实时监测待测应用系统状态,动态控制负载测试过程,可以实现虚拟化应用平台弹性扩展能力的快速评测与评估。本发明的方法利用虚拟化应用平台的共享资源池产生测试负载,可以生成大规模、符合真实运行环境需求的测试负载,可以实现虚拟化应用平台对应用系统的服务质量保障能力的评测与评估。
Description
技术领域
本发明属于计算机软件领域,具体涉及一种面向虚拟化应用平台的负载测试方法。
背景技术
虚拟化技术的应用可以帮助用户通过服务器整合,实现在同一台物理服务器上运行多个软件应用,甚至可以运行在不同的操作系统上,用更少的服务器获得更高的整体性能,提高计算机性能的利用率。虚拟化应用平台利用虚拟化的共享资源池为应用系统提供按需获取的计算资源(这些资源包括网络、服务器、存储等等),共享资源池中的资源通过虚拟机的形式进行管理和隔离,可以通过较少的管理代价和简单业务交互过程实现资源的快速部署和发布。
虚拟化应用平台体现了虚拟化资源管理模式在资源管理方式和使用方式上的优势,包括:资源弹性扩展,根据用户对资源需求的变化,动态配给资源;共享资源池,各类资源通过共享的方式为多个组织(用户)提供服务,最大化资源利用率;在线自助服务,用户通过简单的、自助式的在线门户进行各类资源的全生命周期的定制和管理;服务可度量,可度量用户所使用的资源,并根据实际使用量计费。前两种特性反映了虚拟化资源管理模式所具有的高性价比、智能化等特点,后两种特性反映了其在资源使用方式上所具有的灵活性、效用性等特点。具有虚拟化特性的应用平台被称为虚拟化应用平台。
资源弹性扩展是虚拟化应用平台系统自治特性的体现,它根据系统当前执行任务的负载大小,自动管理资源配给,降低人工管理的复杂度和维护成本。这其中的核心和关键是根据系统当前负载,分配合理的资源,常用的方法是建立系统自治回路,通过在线监测系统状态,分析得出合理的、优化的资源管理策略,然后执行策略,这一过程在系统运行时被不断执行。由于上述特性,虚拟化应用平台可以为更大规模的应用负载提供服务。然而,传统负载测试方法难以针对这种具有动态扩展能力的应用系统进行测试,因而难以验证虚拟化应用平台的弹性扩展策略是否合理、能否满足应用系统的动态扩展需求以及能否满足应用系统的服务质量需求。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种而向资源弹性扩展的应用系统负载测试方法,满足应用系统的负载测试需求。
为实现上述目的,本发明提供了一种面向虚拟化应用平台的负载测试方法,通过由多个负载生成器组成的负载生成池以及测试控制器协同完成对待测应用系统的测试;包括以下步骤:
步骤一、负载测试启动后,负载生成控制器首先选择启动负载生成器池中的一个负载生成器,此时,测试控制器中的负载生成控制器将通过虚拟化应用平台启动一个已部署了负载生成器软件程序的虚拟机;
步骤二、负载生成控制器引导最近启动的一个负载生成器,按照指定的负载变化函数和时间间隔,逐步增加负载量;
步骤三、在每个时间间隔结束时,负载生成控制器使用应用性能监测器和虚拟机监测器,检测待测应用系统的性能状态和虚拟机资源状态以及虚拟机数量,判断上述状态是否达到测试人员设定的阈值,即应用系统是否达到资源饱和状态;
如果应用系统没有达到资源饱和状态,则判断最近启动的负载生成器是否达到最大负载生成量;如果最近启动的负载生成器没有达到单个负载生成器的最大负载生成量,则进入步骤二,继续增加负载量;如果最近启动的负载生成器已经达到单个负载生成器的最大负载生成量,则启动负载生成器池中的一个负载生成器,然后进入步骤二,继续增加负载量;
如果应用系统已经达到资源饱和状态,则记录应用系统的性能统计值,然后结束测试。
较佳的,所述测试控制器由应用性能监测器、虚拟机监测器、负载生成控制器和测试脚本管理器组成;
应用性能监测器用于监测待测应用系统的性能状态;
虚拟机监测器用于监测待测应用系统所部署的单个或多个虚拟机的系统资源状态;
负载生成控制器用于控制负载生成器的数量以及单个负载生成器产生负载量;
测试脚本管理器用于管理待测应用系统的负载执行脚本。
本发明的有益效果是:本发明的方法通过实时监测待测应用系统状态,动态控制负载测试过程,可以实现虚拟化应用平台弹性扩展能力的快速评测与评估。本发明的方法利用虚拟化应用平台的共享资源池产生测试负载,可以生成大规模、符合真实运行环境需求的测试负载,可以实现虚拟化应用平台对应用系统的服务质量保障能力的评测与评估。
附图说明
图1是虚拟化应用平台结构图。
图2是测试控制器结构图。
图3是负载测试方法的流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明:
一种面向虚拟化应用平台的负载测试方法,通过由多个负载生成器组成的负载生成池以及测试控制器协同完成对待测应用系统的测试;包括以下步骤:
步骤一、负载测试启动后,负载生成控制器首先选择启动负载生成器池中的一个负载生成器,此时,测试控制器中的负载生成控制器将通过虚拟化应用平台启动一个已部署了负载生成器软件程序的虚拟机;
步骤二、负载生成控制器引导最近启动的一个负载生成器,按照指定的负载变化函数和时间间隔,逐步增加负载量;
步骤三、在每个时间间隔结束时,负载生成控制器使用应用性能监测器和虚拟机监测器,检测待测应用系统的性能状态和虚拟机资源状态以及虚拟机数量,判断上述状态是否达到测试人员设定的阈值,即应用系统是否达到资源饱和状态;
如果应用系统没有达到资源饱和状态,则判断最近启动的负载生成器是否达到最大负载生成量;如果最近启动的负载生成器没有达到单个负载生成器的最大负载生成量,则进入步骤二,继续增加负载量;如果最近启动的负载生成器已经达到单个负载生成器的最大负载生成量,则启动负载生成器池中的一个负载生成器,然后进入步骤二,继续增加负载量;
如果应用系统已经达到资源饱和状态,则记录应用系统的性能统计值,然后结束测试。
本实施例中,所述测试控制器由应用性能监测器、虚拟机监测器、负载生成控制器和测试脚本管理器组成;
应用性能监测器用于监测待测应用系统的性能状态;
虚拟机监测器用于监测待测应用系统所部署的单个或多个虚拟机的系统资源状态;
负载生成控制器用于控制负载生成器的数量以及单个负载生成器产生负载量;
测试脚本管理器用于管理待测应用系统的负载执行脚本。
如图1所示,虚拟化应用平台上部署了待测应用系统,虚拟机控制器负责管理运行在虚拟化应用平台上的所有虚拟机资源,可以为待测应用系统提供弹性扩展的虚拟机运行环境。虚拟化应用平台上还部署了测试控制器及由多个负载生成器组成的负载生成池,每个负载生成器部署在一个虚拟机中。
在实施方案中,虚拟机控制器负责管理运行在虚拟化应用平台上的所有虚拟机资源,可以为待测应用系统提供弹性扩展的虚拟机运行环境。虚拟机控制器可以根据待测应用系统当前的虚拟机资源状态,自动增加或减少虚拟机数量。例如,可以设定虚拟机的CPU、网络带宽等系统资源的饱和阈值,或者待测应用系统的请求失败率的阈值,当发现超过上述阈值时,虚拟机控制器则自动增加虚拟机的数量。
在实施方案中,负载生成器可以产生不同类型协议(如HTTP、RMI等)、不同规模的负载。每个负载生成器可以产生小于特定上限的负载量,例如不能超过1000个socket连接,测试控制器可以通过控制负载生成器的数量,产生预期规模的负载量。由于负载生成池是由部署在虚拟机上的负载生成器构成,因此可以利用虚拟机控制器扩展负载生成池内的负载生成器数量,以产生大规模的应用负载,从而更充分的测试虚拟化应用平台的弹性扩展能力。
在测试过程中,一个测试控制器首先控制一个负载生成器产生负载,并将负载施加给应用系统所部署的第一个虚拟机。然后,测试控制器监测该虚拟机的系统资源状态,判断其是否达到系统资源饱和状态。如果该虚拟机达到饱和状态,则测试控制器记录该虚拟机上运行的应用系统的性能统计值。在此过程中,测试控制器将根据待测应用系统的当前系统资源状态、性能状态,动态改变负载量。测试控制器可以通过虚拟机控制监测待测应用系统的虚拟机数量,并结合待测应用系统的性能统计值,判断虚拟化应用平台的弹性扩展效果。
在本实施例中,测试控制器包括应用性能监测器、虚拟机监测器、负载生成控制器和测试脚本管理器,如图2所示。
应用性能监测器用于监测待测应用系统的性能状态,得到性能统计值,例如请求的平均响应时间、吞吐率、失败率等。
虚拟机监测器通过虚拟机控制器监测待测应用系统所部署的单个或多个虚拟机的系统资源状态,例如CPU、网络带宽等资源状态信息。综合应用性能监测器、虚拟机监测器获得的数据,可以判断当虚拟机数量发生变化时,待测应用系统的性能及系统资源的变化情况。
负载生成控制器用于控制负载生成器的数量以及单个负载生成器产生负载量,它根据应用性能监测器、虚拟机监测器提供监测数据,判断是否增加单个负载生成器的负载量,或增加新的负载生成器。例如,当测试控制器判断当前负载生成器产生的负载量没有使得待测应用系统的CPU、网络带宽等资源状态到达饱和阈值,则增加一个负载生成器以产生更大规模的负载量,从而使得待测应用系统所在的虚拟机资源达到饱和,以触发虚拟化应用平台的弹性扩展行为,使其自动启动新的虚拟机。
测试脚本管理器用于管理待测应用系统的负载执行脚本。测试脚本通常由待测应用系统的访问地址、端口信息、接口信息、参数信息组成。负载生成器可以执行单个测试脚本,也可以同时执行同一待测应用系统的多个内容不同的测试脚本。
在上述测试控制器的驱动下,给出一个具体的面向虚拟化应用平台的负载测试方法,方法的执行逻辑包括虚拟机管理的各种硬件资源和运行在虚拟机之上的负载生成器软件程序。具体流程如图3所示:
首先,通过负载生成控制器选择启动负载生成器池中的一个负载生成器,此时,负载生成控制器将利用虚拟机控制器启动一个已部署了负载生成器软件程序的虚拟机;然后,负载生成控制器引导负载生成器按照指定的时间间隔,逐步增加负载量。具体而言,负载生成器将利用指数函数控制负载量的增加,以达到负载量快速增加的目的。在每个时间间隔结束时,负载生成控制器使用应用性能监测器和虚拟机监测器,检测待测应用系统的性能状态(如响应时间、吞吐率等)、虚拟机资源状态(如CPU、内存、网络带宽等的使用情况)以及虚拟机数量。若上述状态没有达到测试人员设定的阈值,即应用系统没有达到资源饱和状态,则判断最近启动的负载生成器是否达到最大负载生成量;若没有达到单个负载生成器的最大负载生成量,则继续增加负载量,若达到,则启动负载生成器池中的一个负载生成器,并使用新增的负载生成器增加负载量。重复上述过程,直到应用系统的性能状态、虚拟机资源状态达到测试人员设定的阈值,即应用系统达到资源饱和状态,并且虚拟机数量增加,则记录应用系统的性能统计值,然后结束测试。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (2)
1.一种面向虚拟化应用平台的负载测试方法,通过由多个负载生成器组成的负载生成池以及测试控制器协同完成对待测应用系统的测试;其特征在于包括以下步骤:
步骤一、负载测试启动后,负载生成控制器首先选择启动负载生成器池中的一个负载生成器,此时,测试控制器中的负载生成控制器将通过虚拟化应用平台启动一个已部署了负载生成器软件程序的虚拟机;
步骤二、负载生成控制器引导最近启动的一个负载生成器,按照指定的负载变化函数和时间间隔,逐步增加负载量;
步骤三、在每个时间间隔结束时,负载生成控制器使用应用性能监测器和虚拟机监测器,检测待测应用系统的性能状态和虚拟机资源状态以及虚拟机数量,判断上述状态是否达到测试人员设定的阈值,即应用系统是否达到资源饱和状态;
如果应用系统没有达到资源饱和状态,则判断最近启动的负载生成器是否达到最大负载生成量;如果最近启动的负载生成器没有达到单个负载生成器的最大负载生成量,则进入步骤二,继续增加负载量;如果最近启动的负载生成器已经达到单个负载生成器的最大负载生成量,则启动负载生成器池中的一个负载生成器,然后进入步骤二,继续增加负载量;
如果应用系统已经达到资源饱和状态,则记录应用系统的性能统计值,然后结束测试。
2.如权利要求1所述的一种面向虚拟化应用平台的负载测试方法,其特征是:所述测试控制器由应用性能监测器、虚拟机监测器、负载生成控制器和测试脚本管理器组成;
应用性能监测器用于监测待测应用系统的性能状态;
虚拟机监测器用于监测待测应用系统所部署的单个或多个虚拟机的系统资源状态;
负载生成控制器用于控制负载生成器的数量以及单个负载生成器产生负载量;
测试脚本管理器用于管理待测应用系统的负载执行脚本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510710958.4A CN105281979A (zh) | 2015-10-29 | 2015-10-29 | 一种面向虚拟化应用平台的负载测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510710958.4A CN105281979A (zh) | 2015-10-29 | 2015-10-29 | 一种面向虚拟化应用平台的负载测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105281979A true CN105281979A (zh) | 2016-01-27 |
Family
ID=55150348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510710958.4A Pending CN105281979A (zh) | 2015-10-29 | 2015-10-29 | 一种面向虚拟化应用平台的负载测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105281979A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733549A (zh) * | 2018-05-28 | 2018-11-02 | 厦门集微科技有限公司 | 一种弹性伸缩测试方法、装置和系统 |
CN109257241A (zh) * | 2017-07-13 | 2019-01-22 | 中国电信股份有限公司 | 虚拟网元功能模块性能评估方法、装置和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070233454A1 (en) * | 2006-03-29 | 2007-10-04 | Fujitsu Limited | Web load test method and web load test program |
US20120101799A1 (en) * | 2010-10-20 | 2012-04-26 | Sony Computer Entertainment America Inc. | Load testing online game server environment using web-based interface |
CN103248535A (zh) * | 2013-04-28 | 2013-08-14 | 华为技术有限公司 | 一种云系统测试方法及装置 |
CN103581247A (zh) * | 2012-07-30 | 2014-02-12 | 杭州洱海科技有限公司 | 一种基于云计算环境的分布式Web测试方法 |
CN103838654A (zh) * | 2012-11-27 | 2014-06-04 | 重庆新媒农信科技有限公司 | 一种多线程和并发测试模拟器及其测试方法 |
CN104333488A (zh) * | 2014-11-04 | 2015-02-04 | 哈尔滨工业大学 | 云服务平台性能测试方法 |
-
2015
- 2015-10-29 CN CN201510710958.4A patent/CN105281979A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070233454A1 (en) * | 2006-03-29 | 2007-10-04 | Fujitsu Limited | Web load test method and web load test program |
US20120101799A1 (en) * | 2010-10-20 | 2012-04-26 | Sony Computer Entertainment America Inc. | Load testing online game server environment using web-based interface |
CN103581247A (zh) * | 2012-07-30 | 2014-02-12 | 杭州洱海科技有限公司 | 一种基于云计算环境的分布式Web测试方法 |
CN103838654A (zh) * | 2012-11-27 | 2014-06-04 | 重庆新媒农信科技有限公司 | 一种多线程和并发测试模拟器及其测试方法 |
CN103248535A (zh) * | 2013-04-28 | 2013-08-14 | 华为技术有限公司 | 一种云系统测试方法及装置 |
CN104333488A (zh) * | 2014-11-04 | 2015-02-04 | 哈尔滨工业大学 | 云服务平台性能测试方法 |
Non-Patent Citations (2)
Title |
---|
邵学彬等: "基于WEB应用性能测试模型的研究", 《产业聚集 软件园》 * |
韩涛: "Web应用负载测试自动化", 《计算机世界》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109257241A (zh) * | 2017-07-13 | 2019-01-22 | 中国电信股份有限公司 | 虚拟网元功能模块性能评估方法、装置和系统 |
CN108733549A (zh) * | 2018-05-28 | 2018-11-02 | 厦门集微科技有限公司 | 一种弹性伸缩测试方法、装置和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102981951B (zh) | 云测试开发平台及云测试开发方法 | |
CN105446860A (zh) | 基于异步并发机制的压力测试系统和测试方法 | |
CN110797975A (zh) | 一种智能台区系统和管理方法 | |
CN108322345A (zh) | 一种故障修复数据包的发布方法及服务器 | |
CN103248535B (zh) | 一种云系统测试方法及装置 | |
Aksanli et al. | Distributed battery control for peak power shaving in datacenters | |
CN102075384A (zh) | 一种性能测试系统及方法 | |
CN104954478A (zh) | 云计算平台中实现服务器自动纵向伸缩的系统及方法 | |
CN104410543A (zh) | 基于云资源的自动化测试方法和系统 | |
CN108701060A (zh) | 用于计算系统自动调整的方法 | |
EP3477894B1 (en) | Method and device for controlling virtualized broadband remote access server (vbras), and communication system | |
CN106020934A (zh) | 一种基于虚拟集群在线迁移的优化部署方法 | |
CN103164283A (zh) | 一种虚拟桌面系统中虚拟化资源动态调度管理方法及系统 | |
CN104301389A (zh) | 一种云计算系统的能效监控和管理方法与系统 | |
CN104717236A (zh) | 一种设备性能测试方法及装置 | |
CN111147565B (zh) | 一种集群节点控制方法、装置、设备及可读存储介质 | |
CN103473115A (zh) | 虚拟机放置方法和装置 | |
CN102339233A (zh) | 云计算集中管理平台 | |
CN103488538B (zh) | 云计算系统中的应用扩展装置和应用扩展方法 | |
CN105824687B (zh) | 一种Java虚拟机性能自动调优的方法及装置 | |
CN105281979A (zh) | 一种面向虚拟化应用平台的负载测试方法 | |
Zhang et al. | Design and implementation of cloud-based performance testing system for web services | |
CN102455991B (zh) | 计算机状态更新方法、装置及分布式系统 | |
KR20160032881A (ko) | 클라우드 기반의 지능형 전력제어 시스템 | |
Chen et al. | A live migration algorithm for virtual machine in a cloud computing environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160127 |