CN111338866B - 基于影子分身虚机的云主机压力测试方法及系统 - Google Patents

基于影子分身虚机的云主机压力测试方法及系统 Download PDF

Info

Publication number
CN111338866B
CN111338866B CN202010106080.4A CN202010106080A CN111338866B CN 111338866 B CN111338866 B CN 111338866B CN 202010106080 A CN202010106080 A CN 202010106080A CN 111338866 B CN111338866 B CN 111338866B
Authority
CN
China
Prior art keywords
virtual machine
shadow
cloud
pressure testing
hard disk
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.)
Active
Application number
CN202010106080.4A
Other languages
English (en)
Other versions
CN111338866A (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.)
Inesa R&d Center
Original Assignee
Inesa R&d Center
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 Inesa R&d Center filed Critical Inesa R&d Center
Priority to CN202010106080.4A priority Critical patent/CN111338866B/zh
Publication of CN111338866A publication Critical patent/CN111338866A/zh
Application granted granted Critical
Publication of CN111338866B publication Critical patent/CN111338866B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2268Logging of test results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种基于影子分身虚机的云主机压力测试方法及系统,该方法包括以下步骤:1)实时判断是否接收到针对某一目标虚机的压力测试请求,若是,则执行步骤2),若否,则返回步骤1);2)基于历史数据判断是否已经存在对应目标虚机的影子分身虚机,若是,则执行步骤4),若否,则执行步骤3);3)创建一台或多台影子分身虚机,在所述影子分身虚机上挂载一块空的云硬盘,并对所述云硬盘进行初始化;4)将所述目标虚机上的文件系统同步复制至所述云硬盘中;5)启动所述影子分身虚机,对所述影子分身虚机进行压力测试,生成测试报告。与现有技术相比,本发明具有缩短迭代周期,降低软件成本等优点。

Description

基于影子分身虚机的云主机压力测试方法及系统
技术领域
本发明涉及云主机压力测试技术领域,尤其是涉及一种基于影子分身虚机的云主机压力测试方法及系统。
背景技术
云计算的出现方便了压力测试的开展,利用云计算技术可以在短时间内启动大量的虚机,模拟用户对应用进行压力测试,测试完后即可销毁,不会长期占用大量资源,大大降低了测试的成本,提高了测试的效率。随着各行业数字化转型的推进,对业务应用从需求到交付的速度要求越来越高,更新迭代的周期越来越短。许多互联网应用从接到需求到第一版上线只有两周时间,压力测试只能线上进行。然而,业务上线后,压力测试会影响到业务本身的性能,甚至会造成业务对正常客户请求的“拒绝服务”。
发明内容
本发明的目的在于克服上述现有技术存在的缺陷而提供一种缩短业务迭代周期、降低软件成本的基于影子分身虚机的云主机压力测试方法及系统。
本发明的目的可以通过以下技术方案来实现:
一种基于影子分身虚机的云主机压力测试方法,该方法通过构建一台或多台影子分身虚机对目标虚机进行压力测试,所述影子分身虚机与目标虚机具有相同规格,该方法包括以下步骤:
1)实时判断是否接收到针对某一目标虚机的压力测试请求,若是,则执行步骤2),若否,则返回步骤1);
2)基于历史数据判断是否已经存在对应目标虚机的影子分身虚机,若是,则执行步骤4),若否,则执行步骤3);
3)创建一台或多台影子分身虚机,在所述影子分身虚机上挂载一块空的云硬盘,并对所述云硬盘进行初始化;
4)将所述目标虚机上的文件系统同步复制至所述云硬盘中;
5)启动所述影子分身虚机,对所述影子分身虚机进行压力测试,生成测试报告。
进一步地,所述压力测试请求包括压力测试工具类型及各压力测试工具的输入参数。
进一步地,所述压力测试工具通过web service的方式以服务形式对外提供SaaS接口。
进一步地,所述相同规格指CPU、内存和操作系统均相同。
进一步地,对所述云硬盘进行初始化为:对云硬盘进行分区并且在云硬盘中创建一个主分区。
进一步地,该方法还包括:以邮件形式发送所述测试报告。
进一步地,该方法还包括:通过图形化界面显示所述测试报告。
进一步地,该方法还包括:在完成压力测试后销毁所述影子分身虚机。
本发明还提供一种基于影子分身虚机的云主机压力测试系统,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器调用所述计算机程序执行如所述的压力测试方法的步骤。
与现有技术相比,本发明具有如下有益效果:
1、本发明通过对影子分身虚机的压力测试实现对目标虚机的压力测试,在云平台上并行化了业务上线和压力测试流程,从而起到缩短迭代周期,降低了软件成本,提升客户满意度的效果,方便应用开发者快速自动化地实现“不影响正常业务”。
2、本发明生成测试报告,并通过图形化界面显示或者以邮件的形式发送给用户,直观方便。
附图说明
图1为本发明的应用场景示意图;
图2为本发明的流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
本实施例提供一种基于影子分身虚机的云主机压力测试方法,该方法通过构建一台或多台影子分身虚机对目标虚机进行压力测试,所述影子分身虚机与目标虚机具有相同规格,所述相同规格指CPU、内存和操作系统均相同。通过该方法,可以将应用上线和压力测试并行化,有效缩短客户需求到交付使用的时间,降低了软件的成本,提升了客户的满意度。
如图1所示为上述Linux云主机压力测试方法的应用场景示意图。
硬件服务器1被部署在数据中心中,通过交换机连接构成服务器集群。本实施例中,硬件服务器1包括但不限于x86,ARM架构的硬件服务器。
私有云操作系统2安装在硬件服务器所组成的服务器集群上,主要作用是将硬件资源软件化,高效管理硬件服务器的资源,并提供给上层软件所使用。本实施例中,私有云操作系统2包括基于OpenStack,CloudStack等开源软件构建的私有云操作系统。
虚拟机3是假设用户在私有云操作系统上启动的虚机,这些虚拟机的操作系统属于Linux内核,典型的如Ubuntu,CentOS,银河麒麟等操作系统,在操作系统之上运行有用户的业务应用,这些业务应用有压力测试的需求。
用户4为私有云的实际使用者,通过图形化界面使用云提供的服务,其业务系统运行在云平台上的虚拟机中。用户可以通过鼠标操作调用该SaaS接口并用键盘输入相关参数。
压力测试服务5为基于本实施例Linux云主机压力测试方法实现的服务,是一个运行在云操作系统上的SaaS服务。具体实施方式可以是由一台或多台装有一系列压力测试程序的虚拟机。典型开源的压力测试程序有Hping3,thc-ssl-dos等,将这些工具通过webservice的方式以服务的形式对外提供SaaS接口。
用户通过云服务的图形化界面发起对“压力测试服务”的压力测试请求6,该压力测试请求中包含“压力测试所用软件”,“对应软件的参数”等参数信息。
影子分身虚机7是根据要测试的目标虚机启动的一台“克隆”虚机。影子分身虚拟机与目标虚机具有相同操作系统,且需要做压力测试的目标虚机中的文件系统同步到影子分身虚机上,可以通过评估影子分身虚机的抗压情况判断出目标虚机的抗压状况,生成安全评估报告8。影子分身虚机在安全扫描完成后可被销毁以释放资源。
如图2所示,上述基于影子分身虚机的云主机压力测试方法的具体过程如下:
1、用户通过云服务的图形化界面及鼠标,启用“压力测试服务”,发送压力测试请求。所述压力测试请求包括压力测试工具类型及各压力测试工具的输入参数。
2、判断是否已经存在满足用户需求的“影子分身虚机”。如果不存在,则根据用户输入的初始参数创建一台或多台“影子分身虚机”,并在数据库中记录,否则就对已存在的影子分身虚机进行文件系统的同步,即跳到第6步。
4、根据目标系统的规格和操作系统镜像,开启一台同样规格和操作系统的云主机。
5、创建并初始化一块空的云硬盘,并挂载到影子分身系统上,并进行云硬盘的分区初始化。初始化是指对云硬盘进行分区,一种实施方式是利用Linux操作系统上的fdisk工具创建一个主分区。
6、将目标系统的文件系统“克隆”(同步)到每台影子分身系统所挂载的云硬盘的分区上。一种实施方式是使用Linux的rysnc命令,通过云操作系统上的qemu-guest-agent工具在目标客户机中运行rysnc命令,将整个文件系统(除了"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"目录)拷贝到影子分身虚机云硬盘主分区所挂载的目录上。
7、将影子分身虚机的启动分区切换为“克隆”云硬盘的分区,并重启系统。
将该主分区设置为启动分区,一种实施方法是在Linux系统中,通过修改fstab,更新启动时的根目录挂载目录,并运行grub-install命令将系统的启动目录调整为新分区的/boot目录,然后重启“影子分身虚机”。
8、对影子分身虚机进行压力测试。
通过云操作系统提供的接口获取“影子分身虚机”的IP地址,同时注入登陆账号信息,并启动一系列部署有压力测试工具的虚机对“影子分身虚机”进行压力测试,形成测试报告。
9、生成压力测试评估报告,通过图形化界面显示或者以邮件的形式发送给用户。
在另一实施例中还提供一种基于影子分身虚机的云主机压力测试系统,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器调用所述计算机程序执行如上述压力测试方法的步骤。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由本发明所确定的保护范围内。

Claims (9)

1.一种基于影子分身虚机的云主机压力测试方法,其特征在于,该方法通过构建一台或多台影子分身虚机对目标虚机进行压力测试,在云平台上并行化业务上线和压力测试流程,所述影子分身虚机与目标虚机具有相同规格,该方法包括以下步骤:
1)实时判断是否接收到针对某一目标虚机的压力测试请求,若是,则执行步骤2),若否,则返回步骤1);
2)基于历史数据判断是否已经存在对应目标虚机的影子分身虚机,若是,则执行步骤4),若否,则执行步骤3);
3)创建一台或多台影子分身虚机,在所述影子分身虚机上挂载一块空的云硬盘,并对所述云硬盘进行初始化,所述初始化为:对云硬盘进行分区并且在云硬盘中创建一个主分区;
4)将所述目标虚机上的文件系统同步复制至所述云硬盘主分区所挂载的目录上;
5)启动所述影子分身虚机,对所述影子分身虚机进行压力测试,生成测试报告;
启动所述影子分身虚机具体为:将所述主分区设置为启动分区,然后重启影子分身虚机。
2.根据权利要求1所述的基于影子分身虚机的云主机压力测试方法,其特征在于,所述压力测试请求包括压力测试工具类型及各压力测试工具的输入参数。
3.根据权利要求2所述的基于影子分身虚机的云主机压力测试方法,其特征在于,所述压力测试工具通过web service的方式以服务形式对外提供SaaS接口。
4.根据权利要求1所述的基于影子分身虚机的云主机压力测试方法,其特征在于,所述相同规格指CPU、内存和操作系统均相同。
5.根据权利要求1所述的基于影子分身虚机的云主机压力测试方法,其特征在于,对所述云硬盘进行初始化为:对云硬盘进行分区并且在云硬盘中创建一个主分区。
6.根据权利要求1所述的基于影子分身虚机的云主机压力测试方法,其特征在于,该方法还包括:以邮件形式发送所述测试报告。
7.根据权利要求1所述的基于影子分身虚机的云主机压力测试方法,其特征在于,该方法还包括:通过图形化界面显示所述测试报告。
8.根据权利要求1所述的基于影子分身虚机的云主机压力测试方法,其特征在于,该方法还包括:在完成压力测试后销毁所述影子分身虚机。
9.一种基于影子分身虚机的云主机压力测试系统,包括处理器和存储器,所述存储器存储有计算机程序,其特征在于,所述处理器调用所述计算机程序执行如权利要求1-8任一所述的压力测试方法的步骤。
CN202010106080.4A 2020-02-20 2020-02-20 基于影子分身虚机的云主机压力测试方法及系统 Active CN111338866B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010106080.4A CN111338866B (zh) 2020-02-20 2020-02-20 基于影子分身虚机的云主机压力测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010106080.4A CN111338866B (zh) 2020-02-20 2020-02-20 基于影子分身虚机的云主机压力测试方法及系统

Publications (2)

Publication Number Publication Date
CN111338866A CN111338866A (zh) 2020-06-26
CN111338866B true CN111338866B (zh) 2024-04-09

Family

ID=71185555

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010106080.4A Active CN111338866B (zh) 2020-02-20 2020-02-20 基于影子分身虚机的云主机压力测试方法及系统

Country Status (1)

Country Link
CN (1) CN111338866B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535336A (zh) * 2021-09-16 2021-10-22 深圳创新科技术有限公司 一种Cloudstack在国产服务器的部署运行方法及装置
CN116743644B (zh) * 2023-07-21 2024-01-30 北京中元易尚科技有限公司 一种自动测试方法、系统、装置和介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9058428B1 (en) * 2012-04-12 2015-06-16 Amazon Technologies, Inc. Software testing using shadow requests
CN105068934A (zh) * 2015-08-31 2015-11-18 浪潮集团有限公司 一种用于云平台的基准测试系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10635476B2 (en) * 2017-05-09 2020-04-28 Microsoft Technology Licensing, Llc Cloud architecture for automated testing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9058428B1 (en) * 2012-04-12 2015-06-16 Amazon Technologies, Inc. Software testing using shadow requests
CN105068934A (zh) * 2015-08-31 2015-11-18 浪潮集团有限公司 一种用于云平台的基准测试系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
私有云平台服务能力检测方法;柳春懿;张晓;李阿妮;陈震;;计算机应用;20170510(05);全文 *

Also Published As

Publication number Publication date
CN111338866A (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
CN107534571B (zh) 用于管理虚拟网络功能的方法、系统和计算机可读介质
US9075638B2 (en) Efficient hosting of virtualized containers using read-only operating systems
US10054978B2 (en) Controlling system clocks in virtual machines
CN102567073B (zh) 在机器部署期间插入管理代理
US7941801B2 (en) Method and system for provisioning a virtual computer and scheduling resources of the provisioned virtual computer
US9218231B2 (en) Diagnosing a problem of a software product running in a cloud environment
US10831463B2 (en) Intelligent software deployment on an IaaS platform
CN111338866B (zh) 基于影子分身虚机的云主机压力测试方法及系统
US11494285B1 (en) Static code analysis tool and configuration selection via codebase analysis
US11886302B1 (en) System and method for execution of applications in a container
US11836072B2 (en) Risk-based root cause identification methods and related autobuild systems
TWI396092B (zh) 用於架構一遠端資料處理系統之電腦程式產品、資料處理系統、電腦實施方法及一種用於為一客戶架構一客戶端資料處理系統之服務處理方法
US20160378521A1 (en) Automated test optimization
CN106126303B (zh) Linux操作系统的安装方法、装置及系统
US11210206B1 (en) Spoofing stateful dependencies during software testing
US10467078B2 (en) Crash dump extraction of guest failure
EP3719645B1 (en) Extension application mechanisms through intra-process operation systems
WO2022100439A1 (en) Workflow patching
US9823998B2 (en) Trace recovery via statistical reasoning
US10956302B2 (en) Code coverage collection based on limited select debug information
CN115309315B (zh) Wayland环境下X应用的截图方法、系统及介质
US20230156004A1 (en) Scalable and secure edge cluster registration
CN111338755B (zh) 基于影子分身虚机的Linux云主机信息安全判定装置
US11567753B1 (en) Automated software patch mapping and recommendation
CN113778564B (zh) 一种高效执行evm智能合约的方法、设备及储存介质

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