CN112199273A - 一种虚拟机压力/性能测试方法及系统 - Google Patents
一种虚拟机压力/性能测试方法及系统 Download PDFInfo
- Publication number
- CN112199273A CN112199273A CN202010986837.3A CN202010986837A CN112199273A CN 112199273 A CN112199273 A CN 112199273A CN 202010986837 A CN202010986837 A CN 202010986837A CN 112199273 A CN112199273 A CN 112199273A
- Authority
- CN
- China
- Prior art keywords
- test
- virtual machine
- program
- machine
- host
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 204
- 238000000034 method Methods 0.000 claims abstract description 26
- 238000004458 analytical method Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 238000009826 distribution Methods 0.000 claims description 6
- 230000008878 coupling Effects 0.000 claims description 3
- 238000010168 coupling process Methods 0.000 claims description 3
- 238000005859 coupling reaction Methods 0.000 claims description 3
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 230000008859 change Effects 0.000 abstract description 2
- 238000011056 performance test Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种虚拟机压力/性能测试方法及系统,本发明方法包括在宿主机中基于包含自动化测试程序和代理程序的模板虚拟机批量创建虚拟机;宿主机启动虚拟机,通过守护程序等待来自客户机的请求:若请求为执行测试任务,则根据测试任务下发测试指令给各个虚拟机中的代理程序,使其基于预置的自动化测试程序执行测试任务,并将测试结果通过宿主机中的守护程序发送给发出测试指令的客户机;若请求为停止测试任务,则下发停止测试指令给各个虚拟机中的代理程序,使其终止测试任务。本发明不需要对虚拟机操作系统做任何改动,依靠宿主机、客户机、用户虚拟机的计划任务、开机自启动以及相应自动化测试组件实现对虚拟机压力/性能的测试。
Description
技术领域
本发明涉及虚拟机技术,具体涉及一种虚拟机压力/性能测试方法及系统。
背景技术
企业的发展伴随着大量文档数据的产生,为了妥善保管这些知识财富,“上云”是其中最为重要的方式之一。在如今这个数据信息蕴含巨大价值的时代,企业对数据安全空前重视,私有云也就受到越来越多企业的青睐。目前私有云的主要应用场景是企业内部IT系统。私有云在打通内部数据,优化企业内部管理和协同方面所起到的作用已经得到广泛认可。私有云的实现基础就是利用OpenStack、KVM等技术开发的虚拟化服务,虚拟机是其中具体的实现方式之一。虚拟机的性能很大程度上决定了私有云本身性能,所以针对虚拟机的相应性能测试也越来越有必要。
目前的虚拟机的性能测试,一般只针对虚拟机系统本身的一些特性进行测试:CPU性能测试;内存性能测试;网络性能测试;磁盘I/O性能测试;CPU指令集对性能的提升;其他影响客户机性能的因素。但是,以上这些测试方法都是针对虚拟机系统本身的性能进行相应测试,并没有结合具体的用户应用软件进行测试,缺乏相应有效的测试方法,无法针对虚拟机里常见或者特殊用户应用进行性能评估。
另外,现在虚拟机的性能测试,需要批量启动大量的虚拟机运行负载,监控虚拟机及宿主机本身性能参数。批量的启动、运行应用软件、批量结束,场景的创建、运行、监控很难通过人为手工去做,即使人工去做,效率和实际效果也很差,费时费力。测试数据的收集以及动态展现也是目前虚拟机压力/性能测试的空白。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种虚拟机压力/性能测试方法及系统,本发明不需要对虚拟机操作系统做任何改动,依靠宿主机、客户机、用户虚拟机的计划任务、开机自启动以及相应自动化测试组件实现对虚拟机压力/性能的测试。
为了解决上述技术问题,本发明采用的技术方案为:
一种虚拟机压力/性能测试方法,其特征在于,包括:
1)在宿主机中基于包含自动化测试程序和代理程序的模板虚拟机批量创建虚拟机;
2)在宿主机中启动批量创建的虚拟机,通过守护程序等待来自客户机的请求:若请求为执行测试任务,则根据测试任务下发测试指令给各个虚拟机中的代理程序,使其基于预置的自动化测试程序执行测试任务,并将测试结果通过宿主机中的守护程序发送给发出测试指令的客户机;若请求为停止测试任务,则下发停止测试指令给各个虚拟机中的代理程序,使其终止测试任务。
可选地,步骤1)之前还包括预先安装部署宿主机的步骤,所述宿主机为承载虚拟机的计算机。
可选地,步骤1)的详细步骤包括:
1.1)在宿主机中创建包含自动化测试程序和代理程序的模板虚拟机;
1.2)设置虚拟机规格并创建发布规则,所述虚拟机规格为用户使用虚拟机的各项配置,包括用户虚拟机系统的内存、存储、网络、显卡资源和虚拟机显示使用的协议、虚拟机的外设控制中的至少一项,所述发布规则是为用户分配虚拟机的规则;
1.3)在宿主机中根据模板虚拟机批量创建虚拟机,并将虚拟机规格、发布规则分别分配给创建的各个的虚拟机。
可选地,所述自动化测试程序执行的测试操作类型包括自动反复执行播放视频、自动反复打开浏览器进行本地/外网的网页、自动反复执行指定的业务软件、自动打开指定软件并执行指定的操作序列中的一种或多种。
可选地,所述指定的业务软件包括用于代替关联业务程序的第一替代程序,该第一替代程序用于将被测虚拟机作为一个独立系统,验证被测系统是否存在性能问题。
可选地,所述指定的业务软件包括用于代替真实业务程序的第二替代程序,该第二替代程序用于验证被测虚拟机与关联程序之间的接口耦合是否对关联程序造成影响。
可选地,步骤2)中根据测试任务下发测试指令给各个虚拟机中的代理程序的详细步骤包括:解析测试指令,根据测试指令中包含的负载级别生成至少一种测试操作序列,所述测试操作序列中包括至少一种重复的测试操作,所述测试操作为自动化测试程序的测试操作的子集,所述重复的测试操作的重复次数为指定次数或重复直至停止测试任务,相邻的测试操作之间包含延时属性,延时属性为指定值0表示前面的测试操作执行完毕后不需要进行延时直接进行后续的测试操作,将测试操作序列作为测试指令下发给各个虚拟机中的代理程序。
可选地,步骤2)中宿主机启动虚拟机之后还包括客户机进行虚拟机压力/性能测试控制的下述步骤:
S1)客户机通过客户端与宿主机中的守护程序建立连接;
S2)客户机通过客户端向宿主机中的守护程序发送执行测试任务,并获取宿主机中的各个虚拟机的测试结果以及宿主机的状态信息,并将各个虚拟机的测试结果以及宿主机的状态信息存储到数据库;当需要停止测试任务时,跳转执行下一步;
S3)客户机通过客户端向宿主机中的守护程序发送停止测试任务,结束。
此外,本发明还提供一种虚拟机压力/性能测试系统,包括:
压力生成器,用于在宿主机中基于包含自动化测试程序和代理程序的模板虚拟机批量创建虚拟机;
用户场景控制器,用于在宿主机中启动批量创建的虚拟机,通过守护程序等待来自客户机的请求:若请求为执行测试任务,则根据测试任务下发测试指令给各个虚拟机中的代理程序,使其基于预置的自动化测试程序执行测试任务,并将测试结果通过宿主机中的守护程序发送给发出测试指令的客户机;若请求为停止测试任务,则下发停止测试指令给各个虚拟机中的代理程序,使其终止测试任务;
结果收集/分析器,用于收集各个虚拟机的测试结果以及宿主机的状态信息,以及采用预设的分析规则对各个虚拟机的测试结果以及宿主机的状态信息进行分析生成分析结果。
此外,本发明还提供一种虚拟机压力/性能测试系统,包括计算机设备,该计算机设备至少包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行所述虚拟机压力/性能测试方法的步骤,或者该存储器中存储有被编程或配置以执行所述虚拟机压力/性能测试方法的计算机程序。
此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行所述虚拟机压力/性能测试方法的计算机程序。
和现有技术相比,本发明具有下述优点:本发明包括在宿主机中基于包含自动化测试程序和代理程序的模板虚拟机批量创建虚拟机;宿主机启动虚拟机,通过守护程序等待来自客户机的请求:若请求为执行测试任务,则根据测试任务下发测试指令给各个虚拟机中的代理程序,使其基于预置的自动化测试程序执行测试任务,并将测试结果通过宿主机中的守护程序发送给发出测试指令的客户机;若请求为停止测试任务,则下发停止测试指令给各个虚拟机中的代理程序,使其终止测试任务。本发明不需要对虚拟机操作系统做任何改动,依靠宿主机、客户机、用户虚拟机的计划任务、开机自启动以及相应自动化测试组件实现对虚拟机压力/性能的测试。
附图说明
图1本发明实施方法的基本流程示意图。
图2本发明实施方法的系统架构示意图。
图3本发明实施例中生成含有自动化测试程序虚拟机处理流程示意图。
图4本发明实施例中客户端保存发送数据实现流程示意图。
具体实施方式
参见图1,本实施例虚拟机压力/性能测试方法包括:
1)在宿主机中基于包含自动化测试程序和代理程序(agent)的模板虚拟机批量创建虚拟机;
2)在宿主机中启动批量创建的虚拟机,通过守护程序等待来自客户机的请求:若请求为执行测试任务,则根据测试任务下发测试指令给各个虚拟机中的代理程序(agent),使其基于预置的自动化测试程序执行测试任务,并将测试结果通过宿主机中的守护程序(daemon)发送给发出测试指令的客户机;若请求为停止测试任务,则下发停止测试指令给各个虚拟机中的代理程序,使其终止测试任务。
如图1所示,本实施例中步骤1)之前还包括预先安装部署宿主机的步骤,宿主机为承载虚拟机的计算机。宿主机需支持虚拟化功能,一般需要安装包含管理控制台、模板虚拟机、用户虚拟机、虚拟机规格等组件。毫无疑问,也可以在现有宿主机上实施本实施例虚拟机压力/性能测试方法。
如图3所示,本实施例中步骤1)的详细步骤包括:
1.1)在宿主机中创建包含自动化测试程序和代理程序的模板虚拟机;
1.2)设置虚拟机规格并创建发布规则,所述虚拟机规格为用户使用虚拟机的各项配置,包括用户虚拟机系统的内存、存储、网络、显卡资源和虚拟机显示使用的协议、虚拟机的外设控制中的至少一项,所述发布规则是为用户分配虚拟机的规则;
1.3)在宿主机中根据模板虚拟机批量创建虚拟机,并将虚拟机规格、发布规则分别分配给创建的各个的虚拟机。
参见图2,本实施例中虚拟机压力/性能测试方法包括宿主机和客户机,宿主机为承载虚拟机的计算机,客户机用于作为虚拟机压力/性能测试的控制方。客户机是一台普通主机,可以通过虚拟化客户端软件连接宿主机上的用户虚拟机的桌面环境(虚拟桌面),客户机具有丰富的外部设备端口,可以连接各类外部设备。
作为一种可选的实施方式,本实施例中宿主机和客户机进行虚拟机压力/性能测试主要通过代理程序(agent)、守护程序(daemon)、场景控制器、结果收集/分析器、虚拟机生成器和客户端、虚拟机配合实现。其中:
代理程序(agent)用于接收测试指令并控制虚拟机基于预置的自动化测试程序执行测试任务;
守护程序(daemon)用于和客户机、代理程序(agent)进行通信,协助接收执行/停止测试任务的请求,以及发送测试结果;
场景控制器用于生成、调度、控制运行、结束用户指定数目的虚拟机并进行相应的信息输出,指定负载的方式和周期,通过输出的错误、通知、警告、调试和批处理消息,监控虚拟机运行情况。方便编排和调度相应不同程度压力场景,实时查看性能测试过程中各个虚拟机及虚拟机里应用软件的使用情况。在压力测试过程中需要监控各项性能指标,并分析指标的正确性。
结果收集/分析器,为客户机上的程序,用于执行结果收集/分析;
虚拟机生成器,为宿主机上的虚拟机管理程序,用于创建虚拟机。如图3所示,虚拟机生成器用于在宿主机中根据模板虚拟机批量创建虚拟机,并将虚拟机规格、发布规则分别分配给创建的各个的虚拟机。
客户端,为客户机上的程序,用于和守护程序(daemon)建立通信。虚拟机,为宿主机上的被测对象,虚拟机是一台虚拟机,通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,在实体计算机中能够完成的工作在虚拟机中都能够实现。
本实施例中,预先镜像模板虚拟机中编写相应的代理程序(agent),并将程序制作成任务计划或者开机自启动程序,以便压力/性能测试脚本虚拟机开机自动登录后自行运行。通过代理程序(agent),可使得本实施例方法兼容各类虚拟机操作系统。
通过步骤1)在宿主机中基于包含自动化测试程序和代理程序(agent)的模板虚拟机批量创建虚拟机,可复制镜像模板以生成大量的虚拟机并运行指定的业务软件对宿主机生成负载,替代大量人工进行反复重复性的操作。
为了让虚拟机形成需要的压力,本实施例中自动化测试程序执行的测试操作类型包括自动反复执行播放视频、自动反复打开浏览器进行本地/外网的网页、自动反复执行指定的业务软件(比如Photoshop等)、自动打开指定软件并执行指定的操作序列中的一种或多种。作为自动打开指定软件并执行指定的操作序列中的一种或多种的一种示例,其可以为 自动反复执行新建、编辑、保存相应系统(Linux/Windows)的office办公软件,比如word、ppt、Excel等,在相应的软件中编辑字符、图形来实现对虚拟机的压力。
本实施例中宿主机和客户机进行虚拟机压力/性能测试,可实现监控及数据收集,虚拟机运行中的信息收集、报告生成、实时情况展现。代理程序(agent)用于监控相应的虚拟机性能指标,定时跟客户机的守护程序(daemon)进行通信发送数据;守护程序(daemon)用于监控服务端的性能指标,定时和客户机进行通信并发送数据;客户机上使用中间件+数据库+动态展现插件,用来收集、存储虚拟机性能数据,以便实时监控,并在性能测试完毕后生成相应的测试报告。客户机的客户端通过守护程序(daemon)向宿主机上大量的虚拟机的代理程序(agent)发送停止测试的指令,也可以发送虚拟机关机的指令。替代程序模拟多个跨平台系统之间交互,具有兼容性好的优点。
针对私有云的不同虚拟机性能测试,被测虚拟机常常会与其他关联程序之间产生流转或交互,一般来说这些关联程序的大部分都是为配合功能测试而准备的,性能难以满足性能测试的环境要求,对这类跨平台的虚拟机你开展性能测试,往往是响应时间很长、TPS很低,这样测试不能反映被测试系统真实的性能。作为一种可选的实施方式,指定的业务软件包括用于代替关联业务程序的第一替代程序,该第一替代程序用于将被测虚拟机作为一个独立系统,验证被测系统是否存在性能问题(大入口、大出口)。作为一种可选的实施方式,指定的业务软件包括用于代替真实业务程序的第二替代程序,该第二替代程序用于验证被测虚拟机与关联程序之间的接口耦合是否对关联程序造成影响(大入口、小出口)。
本实施例步骤2)中根据测试任务下发测试指令给各个虚拟机中的代理程序的详细步骤包括:解析测试指令,根据测试指令中包含的负载级别生成至少一种测试操作序列,所述测试操作序列中包括至少一种重复的测试操作,所述测试操作为自动化测试程序的测试操作的子集,所述重复的测试操作的重复次数为指定次数或重复直至停止测试任务,相邻的测试操作之间包含延时属性,延时属性为指定值0表示前面的测试操作执行完毕后不需要进行延时直接进行后续的测试操作,将测试操作序列作为测试指令下发给各个虚拟机中的代理程序。
通过上述操作,虚拟机用户行为模拟,该发明点模拟用户使用业务软件的行为,并使其低成本且具可行性,是模拟大量用户操作的一种技术,借助这种技术将被测系统及业务软件在测试阶段运行起来。在虚拟机和外面宿主机生成agent(代理程序),控制应用程序运行,模拟用户行为及相应操作的依赖关系、延时时间等。可实现:不同的虚拟机模拟用户重复使用不同的业务软件、产生数据;多虚拟机并发操作;不同模拟用户操作之间的依赖关系;虚拟机里模拟用户操作的延时时间;根据不同的任务设定完成相应轻中重负载的性能测试,也可以根据订制特殊测试场景来模拟用户操作。
如图4所示,本实施例步骤2)中宿主机启动虚拟机之后还包括客户机进行虚拟机压力/性能测试控制的下述步骤:
S1)客户机通过客户端与宿主机中的守护程序建立连接;
S2)客户机通过客户端向宿主机中的守护程序发送执行测试任务,并获取宿主机中的各个虚拟机的测试结果以及宿主机的状态信息,并将各个虚拟机的测试结果以及宿主机的状态信息存储到数据库;当需要停止测试任务时,跳转执行下一步;
S3)客户机通过客户端向宿主机中的守护程序发送停止测试任务,结束。
本实施例中,步骤S2)中客户机将各个虚拟机的测试结果以及宿主机的状态信息存储到数据库,以后既可以根据需要进行虚拟机及相应宿主机性能分析,生成结果收集/分析器大量虚拟机运行中的信息收集、报告生成、实时情况展现。方便收集大量的虚拟机性能数据,自动生成对应的报告及图表。
此外,本发实施例还提供一种虚拟机压力/性能测试系统,包括:
压力生成器,用于在宿主机中基于包含自动化测试程序和代理程序的模板虚拟机批量创建虚拟机;
用户场景控制器,用于在宿主机中启动批量创建的虚拟机,通过守护程序等待来自客户机的请求:若请求为执行测试任务,则根据测试任务下发测试指令给各个虚拟机中的代理程序,使其基于预置的自动化测试程序执行测试任务,并将测试结果通过宿主机中的守护程序发送给发出测试指令的客户机;若请求为停止测试任务,则下发停止测试指令给各个虚拟机中的代理程序,使其终止测试任务;
结果收集/分析器,用于收集各个虚拟机的测试结果以及宿主机的状态信息,以及采用预设的分析规则对各个虚拟机的测试结果以及宿主机的状态信息进行分析生成分析结果。
此外,本实施例还提供一种虚拟机压力/性能测试系统,包括计算机设备,该计算机设备至少包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行所述虚拟机压力/性能测试方法的步骤,或者该存储器中存储有被编程或配置以执行所述虚拟机压力/性能测试方法的计算机程序。
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行所述虚拟机压力/性能测试方法的计算机程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种虚拟机压力/性能测试方法,其特征在于,包括:
1)在宿主机中基于包含自动化测试程序和代理程序的模板虚拟机批量创建虚拟机;
2)在宿主机中启动批量创建的虚拟机,通过守护程序等待来自客户机的请求:若请求为执行测试任务,则根据测试任务下发测试指令给各个虚拟机中的代理程序,使其基于预置的自动化测试程序执行测试任务,并将测试结果通过宿主机中的守护程序发送给发出测试指令的客户机;若请求为停止测试任务,则下发停止测试指令给各个虚拟机中的代理程序,使其终止测试任务。
2.根据权利要求1所述的虚拟机压力/性能测试方法,其特征在于,步骤1)的详细步骤包括:
1.1)在宿主机中创建包含自动化测试程序和代理程序的模板虚拟机;
1.2)设置虚拟机规格并创建发布规则,所述虚拟机规格为用户使用虚拟机的各项配置,包括用户虚拟机系统的内存、存储、网络、显卡资源和虚拟机显示使用的协议、虚拟机的外设控制中的至少一项,所述发布规则是为用户分配虚拟机的规则;
1.3)在宿主机中根据模板虚拟机批量创建虚拟机,并将虚拟机规格、发布规则分别分配给创建的各个的虚拟机。
3.根据权利要求1所述的虚拟机压力/性能测试方法,其特征在于,所述自动化测试程序执行的测试操作类型包括自动反复执行播放视频、自动反复打开浏览器进行本地/外网的网页、自动反复执行指定的业务软件、自动打开指定软件并执行指定的操作序列中的一种或多种。
4.根据权利要求3所述的虚拟机压力/性能测试方法,其特征在于,所述指定的业务软件包括用于代替关联业务程序的第一替代程序,该第一替代程序用于将被测虚拟机作为一个独立系统,验证被测系统是否存在性能问题。
5.根据权利要求4所述的虚拟机压力/性能测试方法,其特征在于,所述指定的业务软件包括用于代替真实业务程序的第二替代程序,该第二替代程序用于验证被测虚拟机与关联程序之间的接口耦合是否对关联程序造成影响。
6.根据权利要求1所述的虚拟机压力/性能测试方法,其特征在于,步骤2)中根据测试任务下发测试指令给各个虚拟机中的代理程序的详细步骤包括:解析测试指令,根据测试指令中包含的负载级别生成至少一种测试操作序列,所述测试操作序列中包括至少一种重复的测试操作,所述测试操作为自动化测试程序的测试操作的子集,所述重复的测试操作的重复次数为指定次数或重复直至停止测试任务,相邻的测试操作之间包含延时属性,延时属性为指定值0表示前面的测试操作执行完毕后不需要进行延时直接进行后续的测试操作,将测试操作序列作为测试指令下发给各个虚拟机中的代理程序。
7.根据权利要求1所述的虚拟机压力/性能测试方法,其特征在于,步骤2)中宿主机启动虚拟机之后还包括客户机进行虚拟机压力/性能测试控制的下述步骤:
S1)客户机通过客户端与宿主机中的守护程序建立连接;
S2)客户机通过客户端向宿主机中的守护程序发送执行测试任务,并获取宿主机中的各个虚拟机的测试结果以及宿主机的状态信息,并将各个虚拟机的测试结果以及宿主机的状态信息存储到数据库;当需要停止测试任务时,跳转执行下一步;
S3)客户机通过客户端向宿主机中的守护程序发送停止测试任务,结束。
8.一种虚拟机压力/性能测试系统,其特征在于,包括:
压力生成器,用于在宿主机中基于包含自动化测试程序和代理程序的模板虚拟机批量创建虚拟机;
用户场景控制器,用于在宿主机中启动批量创建的虚拟机,通过守护程序等待来自客户机的请求:若请求为执行测试任务,则根据测试任务下发测试指令给各个虚拟机中的代理程序,使其基于预置的自动化测试程序执行测试任务,并将测试结果通过宿主机中的守护程序发送给发出测试指令的客户机;若请求为停止测试任务,则下发停止测试指令给各个虚拟机中的代理程序,使其终止测试任务;
结果收集/分析器,用于收集各个虚拟机的测试结果以及宿主机的状态信息,以及采用预设的分析规则对各个虚拟机的测试结果以及宿主机的状态信息进行分析生成分析结果。
9.一种虚拟机压力/性能测试系统,包括计算机设备,该计算机设备至少包括相互连接的微处理器和存储器,其特征在于,该微处理器被编程或配置以执行权利要求1~7中任意一项所述虚拟机压力/性能测试方法的步骤,或者该存储器中存储有被编程或配置以执行权利要求1~7中任意一项所述虚拟机压力/性能测试方法的计算机程序。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有被编程或配置以执行权利要求1~7中任意一项所述虚拟机压力/性能测试方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010986837.3A CN112199273B (zh) | 2020-09-18 | 2020-09-18 | 一种虚拟机压力/性能测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010986837.3A CN112199273B (zh) | 2020-09-18 | 2020-09-18 | 一种虚拟机压力/性能测试方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112199273A true CN112199273A (zh) | 2021-01-08 |
CN112199273B CN112199273B (zh) | 2024-02-13 |
Family
ID=74015487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010986837.3A Active CN112199273B (zh) | 2020-09-18 | 2020-09-18 | 一种虚拟机压力/性能测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112199273B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114035719A (zh) * | 2021-10-09 | 2022-02-11 | 湖南麒麟信安科技股份有限公司 | 一种远程桌面流畅度性能评价方法、系统及介质 |
CN114363226A (zh) * | 2021-12-27 | 2022-04-15 | 北京安博通科技股份有限公司 | 一种基于虚拟化复杂网络场景中设备自动测试方法和系统 |
CN114035719B (zh) * | 2021-10-09 | 2024-04-26 | 湖南麒麟信安科技股份有限公司 | 一种远程桌面流畅度性能评价方法、系统及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090249284A1 (en) * | 2008-02-29 | 2009-10-01 | Doyenz Incorporated | Automation for virtualized it environments |
US20100313185A1 (en) * | 2009-06-03 | 2010-12-09 | Microsoft Corporation | Access to test-ready virtual environments |
EP2642395A1 (de) * | 2012-03-21 | 2013-09-25 | ServiceTrace e.K. | Verfahren und Vorrichtung zum Ausführen von Workflow-Skripten |
CN103399496A (zh) * | 2013-08-20 | 2013-11-20 | 中国能源建设集团广东省电力设计研究院 | 智能电网海量实时数据负载仿真测试云平台及其测试方法 |
CN104536899A (zh) * | 2015-01-20 | 2015-04-22 | 成都益联科创科技有限公司 | 一种基于智能集群的软件部署及其维护方法 |
US20150121061A1 (en) * | 2013-10-28 | 2015-04-30 | Citrix Systems, Inc. | Systems and methods for managing a guest virtual machine executing within a virtualized environment |
US9032399B1 (en) * | 2012-06-28 | 2015-05-12 | Emc Corporation | Measurement of input/output scheduling characteristics in distributed virtual infrastructure |
CN105955798A (zh) * | 2016-04-29 | 2016-09-21 | 北京奇虎科技有限公司 | 一种检测云平台中虚拟机异常状态的方法、装置和系统 |
CN110879769A (zh) * | 2019-10-16 | 2020-03-13 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于动态可配置框架的嵌入式系统测试环境构建方法 |
-
2020
- 2020-09-18 CN CN202010986837.3A patent/CN112199273B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090249284A1 (en) * | 2008-02-29 | 2009-10-01 | Doyenz Incorporated | Automation for virtualized it environments |
US20100313185A1 (en) * | 2009-06-03 | 2010-12-09 | Microsoft Corporation | Access to test-ready virtual environments |
EP2642395A1 (de) * | 2012-03-21 | 2013-09-25 | ServiceTrace e.K. | Verfahren und Vorrichtung zum Ausführen von Workflow-Skripten |
US9032399B1 (en) * | 2012-06-28 | 2015-05-12 | Emc Corporation | Measurement of input/output scheduling characteristics in distributed virtual infrastructure |
CN103399496A (zh) * | 2013-08-20 | 2013-11-20 | 中国能源建设集团广东省电力设计研究院 | 智能电网海量实时数据负载仿真测试云平台及其测试方法 |
US20150121061A1 (en) * | 2013-10-28 | 2015-04-30 | Citrix Systems, Inc. | Systems and methods for managing a guest virtual machine executing within a virtualized environment |
CN104536899A (zh) * | 2015-01-20 | 2015-04-22 | 成都益联科创科技有限公司 | 一种基于智能集群的软件部署及其维护方法 |
CN105955798A (zh) * | 2016-04-29 | 2016-09-21 | 北京奇虎科技有限公司 | 一种检测云平台中虚拟机异常状态的方法、装置和系统 |
CN110879769A (zh) * | 2019-10-16 | 2020-03-13 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于动态可配置框架的嵌入式系统测试环境构建方法 |
Non-Patent Citations (3)
Title |
---|
崔广章;杜程;刘睿;: "Collectd对KVM虚拟机内存监控的测试与优化", 物联网技术, no. 05 * |
柯栋梁;郑啸;秦锋;: "云服务自动化集成测试研究", 系统仿真学报, no. 12 * |
韩燕;: "虚拟化架构下软件开发与测试环境自动化研究", 湖北开放职业学院学报, no. 17 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114035719A (zh) * | 2021-10-09 | 2022-02-11 | 湖南麒麟信安科技股份有限公司 | 一种远程桌面流畅度性能评价方法、系统及介质 |
CN114035719B (zh) * | 2021-10-09 | 2024-04-26 | 湖南麒麟信安科技股份有限公司 | 一种远程桌面流畅度性能评价方法、系统及介质 |
CN114363226A (zh) * | 2021-12-27 | 2022-04-15 | 北京安博通科技股份有限公司 | 一种基于虚拟化复杂网络场景中设备自动测试方法和系统 |
CN114363226B (zh) * | 2021-12-27 | 2024-03-01 | 北京安博通科技股份有限公司 | 一种基于虚拟化复杂网络场景中设备自动测试方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112199273B (zh) | 2024-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309071B (zh) | 测试代码的生成方法及模块、测试方法及系统 | |
US7895565B1 (en) | Integrated system and method for validating the functionality and performance of software applications | |
US20130263090A1 (en) | System and method for automated testing | |
JP6045134B2 (ja) | アプリケーション性能試験のための並列作業負荷シミュレーション | |
CN103235756A (zh) | 一种面向嵌入式系统分区应用程序软件的仿真测试方法 | |
CN104378252A (zh) | 一种云测试服务平台 | |
CN106933729A (zh) | 一种基于云平台的测试方法和系统 | |
CN107659455B (zh) | 一种iOS端Mock数据的方法、存储介质、设备及系统 | |
US9898390B2 (en) | Virtual service localization | |
CN108111364B (zh) | 一种业务系统的测试方法及装置 | |
CN112631846A (zh) | 一种故障演练方法、装置、计算机设备及存储介质 | |
CN112650676A (zh) | 软件测试方法、装置、设备及存储介质 | |
CN110569154B (zh) | 一种芯片接口功能测试方法、系统、终端及存储介质 | |
Lei et al. | Performance and scalability testing strategy based on kubemark | |
CN115203054A (zh) | 一种虚拟化芯片测试系统 | |
CN112199273B (zh) | 一种虚拟机压力/性能测试方法及系统 | |
EP4152715A1 (en) | Method and apparatus for determining resource configuration of cloud service system | |
Ulrich et al. | Operator timing of task level primitives for use in computation-based human reliability analysis | |
Cai et al. | Analysis for cloud testing of web application | |
RU2729210C1 (ru) | Комплекс тестирования программного обеспечения электронных устройств | |
CN114297961A (zh) | 一种芯片测试用例处理方法及相关装置 | |
CN108960433B (zh) | 用于运行机器学习建模过程的方法及系统 | |
CN113037582A (zh) | 网络功能虚拟化nfv测试方法、装置和系统 | |
CN111459814A (zh) | 自动化测试用例生成方法、装置及电子设备 | |
CN111400191A (zh) | 网页安全测试方法、装置及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |