CN114116487B - 压力测试方法、装置、电子设备及存储介质 - Google Patents

压力测试方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114116487B
CN114116487B CN202111430779.7A CN202111430779A CN114116487B CN 114116487 B CN114116487 B CN 114116487B CN 202111430779 A CN202111430779 A CN 202111430779A CN 114116487 B CN114116487 B CN 114116487B
Authority
CN
China
Prior art keywords
pressure
compression
image file
sending
receiving
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
CN202111430779.7A
Other languages
English (en)
Other versions
CN114116487A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202111430779.7A priority Critical patent/CN114116487B/zh
Publication of CN114116487A publication Critical patent/CN114116487A/zh
Priority to US18/056,328 priority patent/US20230171179A1/en
Priority to EP22208761.1A priority patent/EP4155942A3/en
Application granted granted Critical
Publication of CN114116487B publication Critical patent/CN114116487B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • 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/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Investigating Strength Of Materials By Application Of Mechanical Stress (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Testing Of Devices, Machine Parts, Or Other Structures Thereof (AREA)
  • Measuring Fluid Pressure (AREA)

Abstract

本公开提供了一种压力测试方法、装置、电子设备及存储介质,涉及计算机技术领域,尤其涉及云计算、微服务及智能测试技术领域。具体实现方案为:接收发压任务启动指令,响应于发压任务启动指令,获取镜像文件,镜像文件中包括发压引擎和发压基础配置信息,根据镜像文件创建多个发压容器,从而利用多个发压容器对内网服务进行压力测试。提高了资源利用率。

Description

压力测试方法、装置、电子设备及存储介质
技术领域
本公开涉及计算机技术领域,进一步涉及云计算、微服务及智能测试技术领域。
背景技术
随着微服务架构的兴起和信息安全意识的增强,越来越多的服务仅允许企业内网访问,可将这些服务称为内网服务。目前,为了衡量内网服务的性能,可以对内网服务进行压力测试,从而根据测试得到的内网服务的性能对内网服务进行分析及优化。
发明内容
本公开提供了一种压力测试方法、装置、电子设备及存储介质。
根据本公开的第一方面,提供了一种压力测试方法,包括:
接收发压任务启动指令;
响应于所述发压任务启动指令,获取镜像文件,所述镜像文件中包括发压引擎和发压基础配置信息,所述发压基础配置信息包括用于支持所述发压引擎运行的开发环境信息和待测试的内网服务的信息;
根据所述镜像文件创建多个发压容器;
利用所述多个发压容器对所述内网服务进行压力测试。
根据本公开的第二方面,提供了一种压力测试装置,包括:
第一接收模块,用于接收发压任务启动指令;
获取模块,用于响应于所述发压任务启动指令,获取镜像文件,所述镜像文件中包括发压引擎和发压基础配置信息,所述发压基础配置信息包括用于支持所述发压引擎运行的开发环境信息和待测试的内网服务的信息;
创建模块,用于根据所述镜像文件创建多个发压容器;
测试模块,用于利用所述多个发压容器对所述内网服务进行压力测试。
根据本开的第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的方法。
根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行第一方面所述的方法。
根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现第一方面所述的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是本公开实施例提供的一种压力测试方法的流程图;
图2是本公开实施例提供的另一种压力测试方法的流程图;
图3是本公开实施例提供的另一种压力测试方法的流程图;
图4是本公开实施例提供的一种压力测试方法的示例性流程图;
图5是本公开实施例提供的一种压力测试装置的结构示意图;
图6是用来实现本公开实施例的压力测试方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
在相关技术中,可以通过自研或开源的发压引擎,比如Jmeter、Gatling等,对内网服务进行压力测试。
例如,使用内网的物理机机房,根据测试所需的压力峰值在物理机中部署发压引擎,从而得到用于发压测试的物理机集群,通过该物理机集群对内网服务进行压力测试。
再例如,使用云服务器集群,在云服务集群的云服务器中部署发压引擎,并拉通云服务器与内网服务之间的网络专线,使得云服务器与内网服务之间网络通畅。在发压测试过程中,根据测试所需的压力峰值对云服务资源进行调度,从而实现对内网服务的发压。
使用上述两种方案,在对服务器进行压力测试前,需要专业的技术人员提前搭建用于对内网服务进行测试的物理机集群或者云服务器集群,然而搭建过程较为繁琐,比如,对于物理机集群,需要分别为每台物理机申请IP地址,并搭建物理机与内网服务之间的网络,分别为每台物理机安装发压引擎等。
在完成压力测试后,如果释放用于发压测试的物理机资源,那么在下次需要发压测试时,还需要重新搭建物理机集群,如果不释放用于发压测试的物理机资源,将导致物理机集群闲置,造成资源浪费,资源利用率较低。
为了提高资源利用率,本公开实施例提供了一种压力测试方法、装置、电子设备及存储介质。
本公开实施例提供的压力测试方法可以由云容器引擎(Cloud ContainerEngine,CCE)执行。
以下对本公开实施例提供的压力测试方法进行介绍,如图1所示,该方法包括:
S101、接收发压任务启动指令。
其中,CCE可以接收客户端通过应用程序接口(Application ProgrammingInterface,API)发送的发压任务启动指令。CCE为客户端提供了API,当用户需要对内网服务进行测试时,可使用客户端通过API向CCE发送发压任务启动指令。即用户可以灵活控制发压任务的启动,操作便捷,且因客户端只需进行简单的API调用就可以发送发压任务启动指令,无需进行复杂的部署,实现更加简单。
S102、响应于发压任务启动指令,获取镜像文件,镜像文件中包括发压引擎和发压基础配置信息。
其中,镜像文件中的发压引擎可以为自研或开源的发压引擎,例如,Jmeter、Gatling等。发压基础配置信息包括用于支持发压引擎运行的开发环境信息和待测试的内网服务的信息。
其中,用于支持发压引擎运行的开发环境信息可以包括:运行该发压引擎所需的插件或Java开发工具包(Java Development Kit,JDK)。待测试的内网服务的信息可以包括:内网服务标识、内网服务的统一资源定位符(Uniform Resource Locator,URL)、内网服务提供的需要被测试的页面,以及需要被测试的页面中的页面参数。
S103、根据镜像文件创建多个发压容器。
本公开实施例中,发压容器可以为Docker容器,Docker容器是一个开源的应用容器引擎,也可称为Docker应用程序。
为镜像文件添加一层读写层可以得到发压容器,发压容器上可以运行发压引擎,CCE可以创建多个发压容器,从而得到包括多个发压容器的发压集群。
S104、利用多个发压容器对内网服务进行压力测试。
其中,该内网服务为需要被进行压力测试的内网服务,
CCE可以控制多个发压容器向内网服务发送测试数据,从而对内网服务进行压力测试。
采用该方法,当接收到发压任务启动指令时,可以自动根据包括发压引擎和发压配置信息的镜像文件创建多个发压容器,进而可以利用多个发压容器对内网服务进行压力测试。可见,因为本公开实施例的发压引擎通过容器技术实现,当接收到发压任务启动指令时才会根据镜像文件创建发压容器,无需提前部署,且在不需要执行发压任务时,也无需创建发压容器,即只有在需要进行发压任务时,才会占用容器资源,不会造成资源浪费,可以提高资源利用率。
一种实施方式中,上述CCE、发压容器均在虚拟私有云(Virtual private Cloud,VPC)网络中。VPC是一个用户能够自定义的虚拟网络,可以根据实际需求灵活设置网络地址空间,实现私有网络隔离,多个虚拟网络之间可以稳定、高速、对等地互相通信。
本公开实施例中,发压集群与内网服务之间可以通过网络专线或者VPN等方式连接,发压集群与内网服务组成一个混合云,使得发压集群与内网服务之间网络通畅,且信息传输安全。
在本公开的一个实施例中,上述S103具体可以实现为:基于发压峰值和单个发压容器支持的并发数计算发压容器的第一数量,根据镜像文件创建第一数量的发压容器。
其中,发压峰值为对内网服务测试时的最大并发数。并发数是指同时向内网服务传输数据的连接数。
其中,不同规格的发压容器支持的并发数是不同的,1G内存、1核CPU所支持的并发数为100,假设每个发压容器有2G内存和2核CPU,则单个发压容器支持的并发数为200。
如果压力峰值为10000,则第一数量为10000/200=50,即需要创建50个发压容器,发压集群包括这50个发压容器。
本公开实施例中,CCE可以通过以下三种方式获取压力峰值:
方式一、发压基础配置信息中包括压力峰值,CCE可以从发压基础配置信息中获取压力峰值。
方式二、在每次发压任务启动前,CCE接收客户端发送的压力峰值。
方式三、预先将压力峰值保存在CCE所在的设备中,CCE可直接获取预先保存的压力峰值。
本公开实施例中,可以将镜像文件复制第一数量份,然后为每一复制的镜像文件分别添加读写层,得到第一数量个发压容器。
采用该方法,由于发压容器的数量可以根据发压峰值计算得到,进而CCE可以根据计算得到的数量创建发压容器,不会出现资源浪费的情况。如果每次压力测试的发压峰值不同,那么CCE每次接收到发压任务启动指令后创建的发压容器数量也不同,相当于可以根据发压峰值的变化自动对发压集群进行缩容和扩容。采用现有技术的部署物理集群的方式,物理集群的性能取决于用户所拥有的物理机数量,若发压需求超出了用户所拥有的物理机的发压能力,用户则需要继续采购物理机,重新部署物理集群,需要大量的机器成本和人力成本,而本公开实施例中,用户无需关心发压容器的部署细节,CCE可以根据镜像文件自动创建容器,不需要借助人工进行复杂的部署操作,降低了人力成本,且可灵活满足发压需求,提升了所确定的发压容器数量的准确性,且可提高压力测试效率。
另外,在现有技术中的物理集群涉及到了大量的软件设备和硬件设备,需要专业的运维人员才能完成物理集群的部署,而本公开实施例中CCE设备即可完成自动部署,该压力测试方法的易用性更高。
在本公开另一实施例中,在执行图1的流程之前,需先准备好镜像文件,如图2所示,该方法还包括:
S201、接收来自客户端的发压引擎和发压基础配置信息。
其中,当用户需要对内网服务进行压力测试时,可以通过客户端上传进行压力测试所需的发压引擎和发压基础配置信息。
S202、对发压引擎和发压基础配置信息进行打包,得到镜像文件。
S203、将镜像文件上传至镜像仓库。
相应地,当CCE接收到发压任务启动指令时,可以从镜像仓库中获取镜像文件。
可选地,客户端也可以向CCE发送打包好的镜像文件,进而CCE接收到镜像文件后,可将镜像文件上传至镜像仓库。
采用该方法,将发压引擎和和基础配置信息进行镜像打包,并将镜像文件上传至镜像仓库,如此,在需要进行压力测试时,CCE可随时从镜像仓库中获取镜像文件从而创建多个容器,可以对镜像文件进行复用,无需人工分别在每个物理机上安装发压引擎,可以节省大量人力。且在将镜像文件上传至镜像仓库后,后续CCE也可以对镜像版本进行管理,方便对镜像文件的回滚和复用。
在本公开另一实施例中,在上述实施例的基础上,如图3所示,在S104之后,该方法还包括:
S301、接收客户端通过API发送的发压任务停止指令。
当用户需要停止发压测试时,可以使用客户端通过API向CCE发送发压任务停止指令。
可选地,在压力测试过程中,用户还可通过客户端查询发压集群的状态,客户端可以通过该API获取发压集群的状态,进而展示给用户。发压集群的状态可以包括发压集群包括的容器数,每个容器的负载情况等,基于发压集群的状态,用户可以根据实际需求判断是否需要对发压集群进行扩容或者缩容。
S302、响应于发压任务停止指令,停止压力测试,并向客户端发送测试结果数据。
采用该方法,用户通过操作客户端,即可实时控制发压任务的停止,无需人工通过操作物理机控制发压任务的停止,可以降低人力成本,提高了测试效率。
可选地,CCE停止压力测试后,可以释放上述多个发压容器。
若采用现有技术中部署物理集群的方式,如果完成压力测试后,释放物理资源,那么每次测试前还需要重新部署,效率较低。如果不释放物理资源,将导致闲置资源的浪费,资源利用率较低。相比于现有技术,因本公开实施例可以在发压结束后释放发压容器,不会使容器资源闲置,提高了资源利用率,且当需要进行发压测试时,CCE还可以再次快速创建发压容器,可以在不降低效率的前提下提高资源利用率。
参见图4,图4为本公开实施例提供的一种压力测试方法的示例性流程图,下面结合图4进行说明。
S401、将发压引擎和发压基础配置信息镜像打包,得到镜像文件。
每次进行压力测试时,CCE可以从镜像仓库中获取镜像文件,实现了镜像文件的复用。
S402、创建VPC,搭建网络专线。
网络专线用于连接发压集群和内网服务,也可以使用VPN进行连接,使得发压集群与内网服务之间网络保持畅通。
S403、CCE根据镜像文件和发压峰值部署发压集群。
CCE当接收到发压任务启动指令时,可以获取镜像文件,并基于镜像文件和发压峰值生成多个发压容器,多个发压容器组成发压集群。
S404、客户端通过API控制发压任务的停止。
当用户需要停止发压任务时,可通过客户端界面行操作,客户端识别到用户触发的停止发压任务的操作后,可以通过API向CCE发送发压任务停止指令,进而CCE控制容器集群停止向内网服务发送测试数据。
S405、客户端通过API获取测试结果数据,通过测试结果数据分析内网服务性能。
采用该方法,由于CCE可以自动部署发压引擎集群,不需要人工或脚本进行部署操作,降低了部署成本,用户可以在需要进行压力测试的时候,通过API控制测试开始,简化了用户操作,在测试结束后将测试资源释放,不会使测试资源闲置,提高了资源利用率。
对应于上述方法实施例,本公开实施例还提供了一种压力测试装置,如图5所示,该装置包括:
第一接收模块501,用于接收发压任务启动指令;
获取模块502,用于响应于发压任务启动指令,获取镜像文件,镜像文件中包括发压引擎和发压基础配置信息,所述发压基础配置信息包括用于支持所述发压引擎运行的开发环境信息和待测试的内网服务的信息;
创建模块503,用于根据镜像文件创建多个发压容器;
测试模块504,用于利用多个发压容器对内网服务进行压力测试。
在本公开另一实施例中,创建模块503,具体用于:
基于发压峰值和单个发压容器支持的并发数计算发压容器的第一数量;
根据镜像文件创建第一数量的发压容器。
在本公开另一实施例中,该装置还包括:
第二接收模块,用于接收来自客户端的发压引擎和发压基础配置信息;
打包模块,用于对发压引擎和发压基础配置信息进行打包,得到镜像文件;
上传模块,用于将镜像文件上传至镜像仓库。
在本公开另一实施例中,
第一接收模块501,具体用于接收客户端通过API发送的发压任务启动指令。
在本公开另一实施例中,该装置还包括:
第三接收模块,用于接收客户端通过API发送的发压任务停止指令;
发送模块,用于响应于发压任务停止指令,停止压力测试,并向客户端发送测试结果数据。
在本公开另一实施例中,该装置还包括:
释放模块,用于释放多个发压容器。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如压力测试方法。例如,在一些实施例中,压力测试方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的压力测试方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行压力测试方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (12)

1.一种压力测试方法,所述方法应用于云容器引擎CEE,包括:
接收发压任务启动指令;
响应于所述发压任务启动指令,获取镜像文件,所述镜像文件中包括发压引擎和发压基础配置信息,所述发压基础配置信息包括用于支持所述发压引擎运行的开发环境信息和待测试的内网服务的信息;
根据所述镜像文件创建多个发压容器,所述发压容器在虚拟私有云VPC网络中;
利用所述多个发压容器对所述内网服务进行压力测试;
在所述接收发压任务启动指令之前,所述方法还包括:
接收来自客户端的发压引擎和发压基础配置信息;
对所述发压引擎和所述发压基础配置信息进行打包,得到所述镜像文件;
将所述镜像文件上传至镜像仓库。
2.根据权利要求1所述的方法,其中,所述根据所述镜像文件创建多个发压容器,包括:
基于发压峰值和单个发压容器支持的并发数计算发压容器的第一数量;
根据所述镜像文件创建所述第一数量的发压容器。
3.根据权利要求1或2所述的方法,其中,所述接收发压任务启动指令,包括:
接收客户端通过应用程序接口API发送的发压任务启动指令。
4.根据权利要求1或2所述的方法,在利用所述多个发压容器对内网服务进行压力测试之后,所述方法还包括:
接收所述客户端通过API发送的发压任务停止指令;
响应于所述发压任务停止指令,停止压力测试,并向所述客户端发送测试结果数据。
5.根据权利要求4所述的方法,在所述停止压力测试之后,所述方法还包括:
释放所述多个发压容器。
6.一种压力测试装置,所述装置应用于云容器引擎CEE,包括:
第一接收模块,用于接收发压任务启动指令;
获取模块,用于响应于所述发压任务启动指令,获取镜像文件,所述镜像文件中包括发压引擎和发压基础配置信息,所述发压基础配置信息包括用于支持所述发压引擎运行的开发环境信息和待测试的内网服务的信息;
创建模块,用于根据所述镜像文件创建多个发压容器,所述发压容器在虚拟私有云VPC网络中;
测试模块,用于利用所述多个发压容器对所述内网服务进行压力测试;
所述装置还包括:
第二接收模块,用于接收来自客户端的发压引擎和发压基础配置信息;
打包模块,用于对所述发压引擎和所述发压基础配置信息进行打包,得到所述镜像文件;
上传模块,用于将所述镜像文件上传至镜像仓库。
7.根据权利要求6所述的装置,其中,所述创建模块,具体用于:
基于发压峰值和单个发压容器支持的并发数计算发压容器的第一数量;
根据所述镜像文件创建所述第一数量的发压容器。
8.根据权利要求6或7所述的装置,其中,
所述第一接收模块,具体用于接收客户端通过API发送的发压任务启动指令。
9.根据权利要求6或7所述的装置,所述装置还包括:
第三接收模块,用于接收所述客户端通过API发送的发压任务停止指令;
发送模块,用于响应于所述发压任务停止指令,停止压力测试,并向所述客户端发送测试结果数据。
10.根据权利要求9所述的装置,所述装置还包括:
释放模块,用于释放所述多个发压容器。
11.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-5中任一项所述的方法。
CN202111430779.7A 2021-11-29 2021-11-29 压力测试方法、装置、电子设备及存储介质 Active CN114116487B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202111430779.7A CN114116487B (zh) 2021-11-29 2021-11-29 压力测试方法、装置、电子设备及存储介质
US18/056,328 US20230171179A1 (en) 2021-11-29 2022-11-17 Method for testing pressure, electronic device and storage medium
EP22208761.1A EP4155942A3 (en) 2021-11-29 2022-11-22 Method and apparatus for load testing, and corresponding storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111430779.7A CN114116487B (zh) 2021-11-29 2021-11-29 压力测试方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN114116487A CN114116487A (zh) 2022-03-01
CN114116487B true CN114116487B (zh) 2024-03-15

Family

ID=80371119

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111430779.7A Active CN114116487B (zh) 2021-11-29 2021-11-29 压力测试方法、装置、电子设备及存储介质

Country Status (3)

Country Link
US (1) US20230171179A1 (zh)
EP (1) EP4155942A3 (zh)
CN (1) CN114116487B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115061886A (zh) * 2022-05-20 2022-09-16 北京百度网讯科技有限公司 一种性能数据处理方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107766126A (zh) * 2017-11-15 2018-03-06 腾讯科技(深圳)有限公司 容器镜像的构建方法、系统、装置及存储介质
CN109726094A (zh) * 2017-10-27 2019-05-07 北京京东尚科信息技术有限公司 压力测试的方法和装置
CN110162471A (zh) * 2019-04-28 2019-08-23 中国工商银行股份有限公司 一种基于容器云的压力测试方法及系统
CN110399307A (zh) * 2019-07-31 2019-11-01 网宿科技股份有限公司 一种测试方法、测试平台及目标服务器
KR20200097066A (ko) * 2019-02-07 2020-08-18 서울시립대학교 산학협력단 테스트 대상 서버의 부하 테스트를 수행하는 방법 및 블록체인 노드
CN111752822A (zh) * 2019-03-29 2020-10-09 上海哔哩哔哩科技有限公司 一种容器化压测调度方法、计算机设备及可读存储介质
CN112486807A (zh) * 2020-11-18 2021-03-12 中信银行股份有限公司 一种压力测试方法、装置、电子设备和可读存储介质
CN113377665A (zh) * 2021-06-25 2021-09-10 北京百度网讯科技有限公司 基于容器技术的测试方法、装置、电子设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110417613B (zh) * 2019-06-17 2022-11-29 平安科技(深圳)有限公司 基于Jmeter的分布式性能测试方法、装置、设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726094A (zh) * 2017-10-27 2019-05-07 北京京东尚科信息技术有限公司 压力测试的方法和装置
CN107766126A (zh) * 2017-11-15 2018-03-06 腾讯科技(深圳)有限公司 容器镜像的构建方法、系统、装置及存储介质
KR20200097066A (ko) * 2019-02-07 2020-08-18 서울시립대학교 산학협력단 테스트 대상 서버의 부하 테스트를 수행하는 방법 및 블록체인 노드
CN111752822A (zh) * 2019-03-29 2020-10-09 上海哔哩哔哩科技有限公司 一种容器化压测调度方法、计算机设备及可读存储介质
CN110162471A (zh) * 2019-04-28 2019-08-23 中国工商银行股份有限公司 一种基于容器云的压力测试方法及系统
CN110399307A (zh) * 2019-07-31 2019-11-01 网宿科技股份有限公司 一种测试方法、测试平台及目标服务器
CN112486807A (zh) * 2020-11-18 2021-03-12 中信银行股份有限公司 一种压力测试方法、装置、电子设备和可读存储介质
CN113377665A (zh) * 2021-06-25 2021-09-10 北京百度网讯科技有限公司 基于容器技术的测试方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
EP4155942A3 (en) 2023-04-26
US20230171179A1 (en) 2023-06-01
EP4155942A2 (en) 2023-03-29
CN114116487A (zh) 2022-03-01

Similar Documents

Publication Publication Date Title
CN113742031B (zh) 节点状态信息获取方法、装置、电子设备及可读存储介质
CN113934464A (zh) Linux系统中启动安卓应用的方法、装置和电子设备
CN109901985B (zh) 分布式测试装置及方法、存储介质和电子设备
CN113778486B (zh) 一种代码流水线的容器化处理方法、装置、介质及设备
CN107045475B (zh) 测试方法和装置
CN114157701B (zh) 一种任务测试方法、装置、设备以及存储介质
CN111786939B (zh) 物联网管理平台测试的方法、装置和系统
CN113050940A (zh) 小程序的预览方法、相关装置及计算机程序产品
CN113377665A (zh) 基于容器技术的测试方法、装置、电子设备及存储介质
CN114116487B (zh) 压力测试方法、装置、电子设备及存储介质
CN114389969B (zh) 客户端的测试方法、装置、电子设备和存储介质
CN114025037B (zh) 一种云手机的检修方法、装置、电子设备和存储介质
CN111104336A (zh) 一种基于容器和vnc的服务接口在线测试方法及装置
CN116932147A (zh) 流式作业处理方法、装置、电子设备及介质
CN114070889B (zh) 配置方法、流量转发方法、设备、存储介质及程序产品
CN111488268A (zh) 自动化测试的调度方法和调度装置
CN115599438A (zh) 应用程序的发布包的构建方法、装置、设备及介质
CN112131095B (zh) 压力测试方法和装置
CN113656268B (zh) 业务服务的性能测试方法、装置、电子设备和存储介质
CN113535187B (zh) 服务上线方法、服务更新方法及服务提供方法
CN113220576B (zh) 测试环境的管理方法、装置、设备以及存储介质
CN110768855A (zh) 链路化性能测试的方法和装置
CN110445628A (zh) 一种基于nginx的任务控制方法和装置
CN116545900A (zh) 压力测试方法、装置、设备及存储介质
CN113704016B (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