CN111078516A - 分布式性能测试方法、装置、电子设备 - Google Patents
分布式性能测试方法、装置、电子设备 Download PDFInfo
- Publication number
- CN111078516A CN111078516A CN201911171179.6A CN201911171179A CN111078516A CN 111078516 A CN111078516 A CN 111078516A CN 201911171179 A CN201911171179 A CN 201911171179A CN 111078516 A CN111078516 A CN 111078516A
- Authority
- CN
- China
- Prior art keywords
- test
- distributed
- nodes
- target program
- task
- 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
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000011056 performance test Methods 0.000 title abstract description 39
- 238000012360 testing method Methods 0.000 claims abstract description 325
- 230000015654 memory Effects 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 7
- 230000000977 initiatory effect Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 238000011161 development Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004091 panning Methods 0.000 description 2
- 241000219357 Cactaceae Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 229910052753 mercury Inorganic materials 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000011084 recovery Methods 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/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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
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
公开一种分布式性能测试方法,应用于分布式集群;其中,所述分布式集群搭载了分布式资源管理框架,所述方法包括:接收测试客户端发起的针对目标程序的测试任务;响应于所述测试任务,调用所述分布式资源管理框架从所述分布式集群的节点中为所述测试任务分配多个测试节点;多个所述测试节点分别运行所述测试任务,向所述目标程序发送测试请求,以完成针对所述目标程序的分布式测试;实现了快速地为用户提供了基于多协议及多编程语言实现的多种业务场景的分布式性能测试,降低了性能测试工具的开发成本,避免了性能测试的人工配置,提高了性能测试效率。
Description
技术领域
本申请涉及计算机应用技术领域,尤其涉及分布式性能测试方法、装置、电子设备。
背景技术
分布式系统是由若干个通过网络进行通信、为了完成共同的任务而协调工作的机器节点组成的系统。通常在实际应用中,分布式系统可以使用若干普通PC构建,并完成完成单个PC无法完成的计算、存储任务。分布式系统的技术本质是利用海量机器来处理海量数据。
性能测试是一种评估硬件/软件在一些场景下的各种性能指标的测试。通常在实际应用中,用户可以基于通过专业的性能测试工具,例如,Mercury Interactive公司开发的LoadRunner,来模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
发明内容
本申请提供一种分布式性能测试方法,所述方法应用于分布式集群;其中,所述分布式集群搭载了分布式资源管理框架,所述方法包括:
接收测试客户端发起的针对目标程序的测试任务;
响应于所述测试任务,调用所述分布式资源管理框架从所述分布式集群的节点中为所述测试任务分配多个测试节点;
多个所述测试节点分别运行所述测试任务,向所述目标程序发送测试请求,以完成针对所述目标程序的分布式测试。
可选的,所述分布式资源管理框架为Mesos或YARN。
可选的,所述测试客户端为,所述分布式集群内置的测试服务程序;或者,基于所述分布式集群内置的测试服务程序开发的定制测试程序。
可选的,还包括:
获取所述目标程序输出的与所述测试请求对应的测试结果,并将所述测试结果向用户输出,以完成针对所述目标程序的分布式测试。
可选的,所述响应于所述测试任务,调用所述分布式资源管理框架从所述分布式集群的节点中为所述测试任务分配多个测试节点,包括:
获取所述测试任务的测试目标;
调用所述分布式资源管理框架在所述分布式集群的节点中,分配与所述测试目标匹配的多个测试节点;
下发所述测试任务至多个所述测试节点,以使多个所述测试节点分别创建并执行所述测试任务对应的多个测试实例,以由多个所述测试实例发起针对所述目标程序的分布式测试。
本申请还提供一种分布式性能测试装置,所述装置应用于分布式集群;其中,所述分布式集群搭载了分布式资源管理框架,所述装置包括:
接收模块,接收测试客户端发起的针对目标程序的测试任务;
分配模块,响应于所述测试任务,调用所述分布式资源管理框架从所述分布式集群的节点中为所述测试任务分配多个测试节点;
测试模块,多个所述测试节点分别运行所述测试任务,向所述目标程序发送测试请求,以完成针对所述目标程序的分布式测试。
可选的,所述分布式资源管理框架为Mesos或YARN。
可选的,所述测试客户端为,所述分布式集群内置的测试服务程序;或者,基于所述分布式集群内置的测试服务程序开发的定制测试程序。
可选的,所述测试模块进一步:
获取所述目标程序输出的与所述测试请求对应的测试结果,并将所述测试结果向用户输出,以完成针对所述目标程序的分布式测试。
可选的,所述测试模块进一步:
获取所述测试任务的测试目标;
调用所述分布式资源管理框架在所述分布式集群的节点中,分配与所述测试目标匹配的多个测试节点;
下发所述测试任务至多个所述测试节点,以使多个所述测试节点分别创建并执行所述测试任务对应的多个测试实例,以由多个所述测试实例发起针对所述目标程序的分布式测试。
本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述的方法。
通过以上实施例,基于分布式资源管理框架构建的分布式集群,通过调用分布式资源管理框架,将该分布式集群内置的测试服务程序或者基于该分布式集群内置的服务程序开发的测试程序部署到该分布式集群的多个节点上,并由多个节点向目标程序发起分布式测试,从而完成对目标程序的性能测试,实现了快速地为用户提供了基于多协议及多编程语言实现的多种业务场景的分布式性能测试,降低了性能测试工具的开发成本,避免了性能测试的人工配置,提高了性能测试效率。
附图说明
图1是一示例性实施例提供的一种分布式性能测试的组网示意图;
图2是一示例性实施例提供的一种分布式性能测试方法的流程图;
图3一示例性实施例提供的一种电子设备的硬件结构图;
图4是一示例性实施例提供的一种分布式性能测试装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本技术领域的人员更好地理解本说明书实施例中的技术方案,下面先对本说明书实施例涉及的分布式性能测试的相关技术,进行简要说明。
请参见图1,图1是本说明书一实施例提供的一种分布式性能测试的组网示意图。
如图1所示的组网包括:目标程序、分布式集群;其中,该目标程序作为性能测试的被测对象、该分布式集群作为性能测试的测试发起者。
如图1所示的分布式集群搭载了分布式资源管理框架;该分布式集群具体可以包括若干主节点(主节点A、主节点B)和若干从节点(从节点A、从节点B、从节点C、...从节点N),N为大于1的自然数;其中,该若干主节点作为该分布式集群的管理节点,负责管理该分布式集群中的所有从节点;该若干从节点作为该分布式集群的执行节点,负责执行来自主节点分配的任务。
在以上示出的组网架构的基础上,本说明书旨在提出一种,基于搭载了分布式资源管理框架分布式系统,对目标程序进行分布式性能测试的技术方案。
在实现时,搭载了分布式资源管理框架的分布式集群接收测试客户端发起的针对目标程序的测试任务。
进一步地,响应于所述测试任务,分布式集群调用所述分布式资源管理框架从所述分布式集群的节点中为所述测试任务分配多个测试节点;多个所述测试节点分别运行所述测试任务,向所述目标程序发送测试请求,以完成针对所述目标程序的分布式测试。
在以上技术方案中,基于分布式资源管理框架构建的分布式集群,通过调用分布式资源管理框架,将该分布式集群内置的测试服务程序或者基于该分布式集群内置的服务程序开发的测试程序部署到该分布式集群的多个节点上,并由多个节点向目标程序发起分布式测试,从而完成对目标程序的性能测试,实现了快速地为用户提供了基于多协议及多编程语言实现的多种业务场景的分布式性能测试,降低了性能测试工具的开发成本,避免了性能测试的人工配置,提高了性能测试效率。
下面通过具体实施例并结合具体的应用场景对本说明书进行描述。
请参考图2,图2是本说明书一实施例提供的一种分布式性能测试方法的流程图,所述方法应用于分布式集群;其中,所述分布式集群搭载了分布式资源管理框架,上述方法执行以下步骤:
步骤202、接收测试客户端发起的针对目标程序的测试任务。
步骤204、响应于所述测试任务,调用所述分布式资源管理框架从所述分布式集群的节点中为所述测试任务分配多个测试节点。
步骤206、多个所述测试节点分别运行所述测试任务,向所述目标程序发送测试请求,以完成针对所述目标程序的分布式测试。
在本说明书中,上述目标程序,是指待进行性能测试的运行在任何业务系统上的任何程序。
例如,在实际应用中,上述目标程序可以包括待进行性能测试的运行在淘宝业务系统、天猫业务系统及支付宝业务系统上的淘宝应用的服务端程序、天猫应用的服务端程序、支付宝应用的服务端程序。
又例如,在实际应用中,上述目标程序可以包括待进行性能测试的运行在阿里云业务系统上可以提供给用户使用的数据库服务程序或数据库集群服务程序、文件服务程序、Web服务程序等。
当然,在实际应用中,上述目标程序还可以包括其它业务系统上的任何程序,在本说明书中,不作具体限定。
在本说明书中,上述分布式集群,是指作为性能测试的发起者向上述目标程序发起性能测试的、搭载了分布式资源管理框架的分布式集群。
在示出的一种实施方式中,上述分布式资源管理框架为Mesos或YARN,也即,上述分布式集群可以为Mesos分布式集群或YARN分布式集群。
为了方便理解,这里简单介绍下Mesos分布式资源管理框架。为了描述方便,后续将“Mesos分布式资源管理框架”简称为Mesos。
Mesos作为分布式集群的资源管理框架,主要负责资源抽象及任务调度。例如,在实际应用中,Mesos可以将整个数据中心的所有资源(包括CPU、内存、存储、网络等)进行抽象和调度为基础集群,可以将多个不同应用集群(比如:多个不同应用集群可以包括基于Hadoop Mapreduce离线计算框架的应用集群、Apache Spark近实时计算框架的应用集群、Apache Kafka Streams在线实时计算框架的应用集群、基于HPC高性能计算框架的应用集群)同时运行在该基础集群之上,并从该基础集群中分享资源,并无需关心资源的物理分布情况。因此,如果把数据中心中的所有资源看做一台机器,那么Mesos就是类似运行在该机器上的操作系统内核。
Mesos集群主要包括作为管理的主节点、作为执行主节点分配任务的从节点、以及应用框架(framework);
其中,作为管理的主节点可以包括多个节点,该多个节点可以通过Zookeeper(一种分布式协调服务)来做HA(高可用性),比如:可以是基于主备模式(Active/Standby)或主主模式(Active/Active)的双机HA或多机HA,HA的具体模式和节点数目在本说明书中不作具体限定;
作为执行主节点分配任务的从节点包括多个节点,每个节点负责将本从节点的资源状态(空闲资源、运行状态等等)上报至主节点,并负责隔离本地资源来执行主节点分配的具体任务。隔离机制目前包括各种容器机制,比如:LXC(Linux Container,一种基于Linux内核的轻量级虚拟化)、Docker(一个开源的应用容器引擎,可以部署在Linux或Windows中)等,具体容器机制的技术原理,请参见相关的技术说明,这里不再赘述;
应用框架(framework),是指运行在Mesos集群的从节点上的应用集群的分布式框架,大致可包括两种:一种是对资源的需求会自动扩展(资源申请后还可以动态调整)的分布式应用框架(比如:Hadoop Mapreduce、Apache Spark、Apache Kafka Streams中的任意一种或组合);另一种是对资源的需求固定的分布式应用框架(比如:HPC高性能计算框架)。
Mesos集群采取了两层的调度算法进行调度,调度过程的主要原理为:由主节点先全局调度一大块资源,给部署在从节点上的某个应用框架(framework),由该应用框架(framework)自己在实现内部的细粒度调度,决定待执行任务用多少资源。由此可见,Mesos集群的两层调度简化了Mesos主节点自身的调度过程,通过将复杂的细粒度调度交由应用框架(framework)实现,避免了Mesos集群的主节点成为性能的瓶颈。Mesos集群的详细说明,请参见相关的技术文档,这里不再赘述。
YARN(“Yet Another Resource Negotiator”的简称)作为另一种分布式资源管理框架,YARN与Mesos的原理基本类似,这里不再赘述。YARN与Mesos的主要区别在于资源调度上差异。
例如,在实际应用中,Mesos让framework决定mesos提供的资源是否合适,从而接受或者拒绝这个资源,当framework长期拒绝资源,Mesos将跳过该framework,将资源提供给其他framework(Mesos本身并不知道各个framework的资源需求)。而对于YARN来说,各个framework会把自身任务的资源要求汇报给YARN,由于YARN根据需求为framework分配资源,也即,资源调度最终决定权在于YARN本身。从可扩展性的角度来说,Mesos相比YARN更加弹性。
在本说明书汇总,上述测试客户端,是指与上述分布式集群对接通信的、用于接收用户针对上述目标程序的测试任务的任何形式的客户端。
例如,在实际应用中,上述测试客户端可以包括上述分布式集群对接通信的、用于接收用户针对上述目标程序的测试任务的APP客户端、Web客户端、CLI(Command-LineInterface,命令行)客户端等。用户可以在上述测试客户端中通过输入与上述目标程序对应的测试任务,由上述测试客户端将该测试任务发送至上述分布式集群,以由上述分布式集群进一步处理。
在示出的一种实施方式中,上述测试客户端为,上述分布式集群内置的测试服务程序;或者,基于上述分布式集群内置的测试服务程序开发的定制测试程序。
例如,在实际应用中,基于Mesos或YARN构建的上述分布式集群通常已集成有的各种应用协议(比如:HTTP、数据库、文件服务)的测试服务程序,上述测试服务程序可以作为各种应用协议的客户端调用,从而向上述目标程序发起对应应用协议类型的测试。
当然,在实际应用中,当上述分布式集群内置的测试服务程序不能满足测试需要时,用户也可以基于上述分布式集群内置的上述测试服务程序开发的定制测试程序,也即,用户可以以上述分布式集群内置的上述测试服务程序作为可调用的基础模块,开发自定义测试逻辑的定制测试程序。通过上述分布式集群内置的测试服务程序;或者,基于上述分布式集群内置的测试服务程序开发的定制测试程序用于对上述目标进行测试,一方面,可以利用上述分布式集群已有的多个通用协议模块快速开发测试程序;另一方面,避免了原有的开源性能测试工具的协议类型的问题(比如:Apache HTTP server benchmarking tool仅支持HTTP协议,性能测试工具Gatling仅支持HTTP协议)、开发语言限制的问题(比如:性能测试工具Locust的开发语言仅支持python,性能测试工具Tsung的开发语言仅支持erlang);以及,商业性能测试工具的由于license限制而导致的无法适合对互联网业务的上述目标程序进行性能测试的问题(比如:LoadRunner的license授权昂贵,并且支持测试设备数量受限);再一方面,基于上述分布式集群搭载的上述分布式资源管理框架进行。
在本说明书中,上述分布式集群接收上述测试客户端发起的针对上述目标程序的测试任务。
例如,在实际应用中,上述测试任务可以包括用于访问上述目标程序的测试程序及用于测试程序访问上述目标程序的登录地址及测试用户名、上述目标程序的测试目标(比如:上述目标程序的多种正常、峰值以及异常负载下的各种指标,比如:可以包括QPS(Queries Per Second、每秒查询率)/TPS(TransactionsPerSecond,每秒事务数)、平均响应时间、并发数等)的预期目标值;上述分布式集群接收上述测试客户端发起的针对上述目标程序的上述测试任务。
在本说明书中,响应于上述测试任务,上述分布式集群调用上述分布式资源管理框架从上述分布式集群的节点中为上述测试任务分配多个测试节点。
以上述分布式资源管理框架为Mesos时进行举例,请参见图1所示,基于Mesos的分布式集群调用Mesos分布式资源管理框架从分布式集群的节点(从节点A、从节点B、从节点C、...从节点N)中为上述测试任务分配多个测试节点(比如包括:从节点A、从节点B、从节点C)。
需要说明的是,上述分布式集群为上述测试任务分配多个上述测试节点可以是基于真实物理设备的物理节点,也可以是基于虚拟化技术创建虚拟机所对应的逻辑节点,在本说明书中不作具体限定。
在示出的一种实施方式中,在响应于上述测试任务,调用上述分布式资源管理框架从上述分布式集群的节点中为上述测试任务分配多个测试节点的过程中,上述分布式集群获取上述测试任务的测试目标;调用上述分布式资源管理框架在上述分布式集群的节点中,分配与上述测试目标匹配的多个上述测试节点。
接着以上示例继续举例,上述测试任务的测试目标,比如包括:测试上述目标程序,在100万并发http访问请求的情况下的访问请求的平均响应时间。请参见图1所示,分布式集群的主节点(比如:主节点A)获取上述测试任务的测试目标;调用Mesos分布式资源管理框架在上述分布式集群的节点中,分配与上述测试目标匹配的多个测试节点(比如:一个从节点的资源可以发起1万并发访问请求,主节点A分配与100万并发http访问请求的测试目标匹配的从节点A、从节点B、从节点C...从节点M;其中,M=101),并调用Mesos框架为与上述测试目标匹配的多个测试节点分配对应的资源,具体过程,请参见Mesos原理说明,这里不再赘述。
在本说明书中,进一步地,上述分布式集群下发上述测试任务至多个上述测试节点,以使多个上述测试节点分别创建并执行上述测试任务对应的多个测试实例,以由多个上述测试实例发起针对上述目标程序的分布式测试。
接着以上示例继续举例,在分布式集群的主节点A,分配与100万并发http访问请求的测试目标匹配的从节点A、从节点B、从节点C...从节点M后,主节点A进一步将上述测试任务(比如:上述测试任务包括的测试程序为http客户端测试程序、用于该http客户端测试程序访问上述目标程序的登录地址及测试用户名),下发至从节点A、从节点B、从节点C...从节点M,以使节点A、从节点B、从节点C...从节点M分别创建并执行上述测试任务对应的101个http客户端测试程序的测试实例,以由101个http客户端测试程序发起针对上述目标程序的100万并发http访问请求的分布式性能测试。
需要说明的是,上述分布式集群通过上述分布式资源管理框架对上述目标程序发起分布式性能测试,减少了原有的ssh、puppet等工具结合人工操作配置才能实现的分布式性能测试,避免了人工计算及资源管理调度,提高了性能测试效率。
在示出的一种实施方式中,在上述多个测试节点向上述目标程序发送测试请求后,上述分布式集群获取上述目标程序输出的与上述测试请求对应的测试结果,并将上述测试结果向用户输出,以完成针对上述目标程序的分布式测试。
接着以上示例继续举例,在从节点A、从节点B、从节点C...从节点M,以使从节点A、从节点B、从节点C...从节点M分别创建并执行上述测试任务对应的101个http客户端测试程序的测试实例,以由101个http客户端测试程序发起针对上述目标程序的100万并发http访问请求后,上述分布式集群可以通过上述测试任务对应的101个http客户端测试程序的测试实例从上述目标程序获取其主动上报的与该100万并发http访问请求对应的上述目标程序的系统指标(比如包括:上述目标程序所在系统的CPU、内存、网络、存储等性能的消耗比例、上述目标程序的100万并发http访问请求的平均延时),并将上述测试结果向用户输出,以完成针对上述目标程序的分布式测试。
当然,在实际应用中,上述分布式集群也可以通过部署在从节点上的上述测试任务对应的101个http客户端测试程序的测试实例,获取针对上述目标程序的100万并发http访问请求的每个访问请求的延时,由上述分布式集群对所以访问请求的延时汇总计算得到http访问请求的访问请求的平均延时。
需要说明的是,上述分布式集群除了通过从上述目标程序获取对应的测试结果外,还可以通过与上述目标程序对接的性能监控系统(比如可以包括:性能监控工具Zabbix、性能监控工具Nagios、性能监控工具Cacti、性能监控工具nmon及OS系统自带的各种性能监控工具)中获取对应的测试结果,以上描述的各种性能监控工具,请参见与工具名称对应的技术说明,这里不再赘述。
在本说明书中,在上述分布式集群完成针对上述目标程序的分布式测试后,上述分布式集群通过调用上述分布式资源管理框架进行调度,完成多个上述测试节点的资源回收。
例如,请参见图1所示,在分布式集群完成针对上述目标程序的针对上述目标程序的100万并发http访问请求的分布式测试后,上述分布式集群通过调用上述分布式资源管理框架进行调度,完成从节点A、从节点B、从节点C...从节点M的http客户端测试程序的测试实例销毁,从而实现从节点的资源回收。
在以上技术方案中,基于分布式资源管理框架构建的分布式集群,通过调用分布式资源管理框架,将该分布式集群内置的测试服务程序或者基于该分布式集群内置的服务程序开发的测试程序部署到该分布式集群的多个节点上,并由多个节点向目标程序发起分布式测试,从而完成对目标程序的性能测试,实现了快速地为用户提供了基于多协议及多编程语言实现的多种业务场景的分布式性能测试,降低了性能测试工具的开发成本,避免了性能测试的人工配置,提高了性能测试效率。
与上述方法实施例相对应,本申请还提供了分布式性能测试装置的实施例。
与上述方法实施例相对应,本说明书还提供了一种分布式性能测试装置的实施例。本说明书的分布式性能测试装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本说明书的分布式性能测试装置装置所在电子设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
图4是本说明书一示例性实施例示出的一种分布式性能测试装置的框图。
请参考图4,所述分布式性能测试装置40可以应用在前述图3所示的电子设备中,所述装置应用于分布式集群;其中,所述分布式集群搭载了分布式资源管理框架,所述装置包括:
接收模块,接收测试客户端发起的针对目标程序的测试任务;
分配模块,响应于所述测试任务,调用所述分布式资源管理框架从所述分布式集群的节点中为所述测试任务分配多个测试节点;
测试模块,多个所述测试节点分别运行所述测试任务,向所述目标程序发送测试请求,以完成针对所述目标程序的分布式测试。
在本实施例中,所述分布式资源管理框架为Mesos或YARN。
在本实施例中,所述测试客户端为,所述分布式集群内置的测试服务程序;或者,基于所述分布式集群内置的测试服务程序开发的定制测试程序。
在本实施例中,所述测试模块进一步:
获取所述目标程序输出的与所述测试请求对应的测试结果,并将所述测试结果向用户输出,以完成针对所述目标程序的分布式测试。
在本实施例中,所述测试模块进一步:
获取所述测试任务的测试目标;
调用所述分布式资源管理框架在所述分布式集群的节点中,分配与所述测试目标匹配的多个测试节点;
下发所述测试任务至多个所述测试节点,以使多个所述测试节点分别创建并执行所述测试任务对应的多个测试实例,以由多个所述测试实例发起针对所述目标程序的分布式测试。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的装置、装置、模块或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与上述方法实施例相对应,本说明书还提供了一种电子设备的实施例。所述电子设备可以应用于分布式集群;其中,所述分布式集群搭载了分布式资源管理框架,该电子设备包括:处理器以及用于存储机器可执行指令的存储器;其中,处理器和存储器通常通过内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。
在本实施例中,通过读取并执行所述存储器存储的与分布式性能测试的控制逻辑对应的机器可执行指令,所述处理器被促使:
接收测试客户端发起的针对目标程序的测试任务;
响应于所述测试任务,调用所述分布式资源管理框架从所述分布式集群的节点中为所述测试任务分配多个测试节点;
多个所述测试节点分别运行所述测试任务,向所述目标程序发送测试请求,以完成针对所述目标程序的分布式测试。
在本实施例中,所述分布式资源管理框架为Mesos或YARN。
在本实施例中,所述测试客户端为,所述分布式集群内置的测试服务程序;或者,基于所述分布式集群内置的测试服务程序开发的定制测试程序。
在本实施例中,通过读取并执行所述存储器存储的与分布式性能测试的控制逻辑对应的机器可执行指令,所述处理器被促使:
获取所述目标程序输出的与所述测试请求对应的测试结果,并将所述测试结果向用户输出,以完成针对所述目标程序的分布式测试。
在本实施例中,通过读取并执行所述存储器存储的与分布式性能测试的控制逻辑对应的机器可执行指令,所述处理器被促使:
获取所述测试任务的测试目标;
调用所述分布式资源管理框架在所述分布式集群的节点中,分配与所述测试目标匹配的多个测试节点;
下发所述测试任务至多个所述测试节点,以使多个所述测试节点分别创建并执行所述测试任务对应的多个测试实例,以由多个所述测试实例发起针对所述目标程序的分布式测试。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (11)
1.一种分布式性能测试方法,所述方法应用于分布式集群;其中,所述分布式集群搭载了分布式资源管理框架,所述方法包括:
接收测试客户端发起的针对目标程序的测试任务;
响应于所述测试任务,调用所述分布式资源管理框架从所述分布式集群的节点中为所述测试任务分配多个测试节点;
多个所述测试节点分别运行所述测试任务,向所述目标程序发送测试请求,以完成针对所述目标程序的分布式测试。
2.根据权利要求1所述的方法,所述分布式资源管理框架为Mesos或YARN。
3.根据权利要求1所述的方法,所述测试客户端为,所述分布式集群内置的测试服务程序;或者,基于所述分布式集群内置的测试服务程序开发的定制测试程序。
4.根据权利要求1所述的方法,还包括:
获取所述目标程序输出的与所述测试请求对应的测试结果,并将所述测试结果向用户输出,以完成针对所述目标程序的分布式测试。
5.根据权利要求1所述的方法,所述响应于所述测试任务,调用所述分布式资源管理框架从所述分布式集群的节点中为所述测试任务分配多个测试节点,包括:
获取所述测试任务的测试目标;
调用所述分布式资源管理框架在所述分布式集群的节点中,分配与所述测试目标匹配的多个测试节点;
下发所述测试任务至多个所述测试节点,以使多个所述测试节点分别创建并执行所述测试任务对应的多个测试实例,以由多个所述测试实例发起针对所述目标程序的分布式测试。
6.一种分布式性能测试装置,所述装置应用于分布式集群;其中,所述分布式集群搭载了分布式资源管理框架,所述装置包括:
接收模块,接收测试客户端发起的针对目标程序的测试任务;
分配模块,响应于所述测试任务,调用所述分布式资源管理框架从所述分布式集群的节点中为所述测试任务分配多个测试节点;
测试模块,多个所述测试节点分别运行所述测试任务,向所述目标程序发送测试请求,以完成针对所述目标程序的分布式测试。
7.根据权利要求6所述的装置,所述分布式资源管理框架为Mesos或YARN。
8.根据权利要求6所述的装置,所述测试客户端为,所述分布式集群内置的测试服务程序;或者,基于所述分布式集群内置的测试服务程序开发的定制测试程序。
9.根据权利要求6所述的装置,所述测试模块进一步:
获取所述目标程序输出的与所述测试请求对应的测试结果,并将所述测试结果向用户输出,以完成针对所述目标程序的分布式测试。
10.根据权利要求6所述的装置,所述测试模块进一步:
获取所述测试任务的测试目标;
调用所述分布式资源管理框架在所述分布式集群的节点中,分配与所述测试目标匹配的多个测试节点;
下发所述测试任务至多个所述测试节点,以使多个所述测试节点分别创建并执行所述测试任务对应的多个测试实例,以由多个所述测试实例发起针对所述目标程序的分布式测试。
11.一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行如权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911171179.6A CN111078516A (zh) | 2019-11-26 | 2019-11-26 | 分布式性能测试方法、装置、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911171179.6A CN111078516A (zh) | 2019-11-26 | 2019-11-26 | 分布式性能测试方法、装置、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111078516A true CN111078516A (zh) | 2020-04-28 |
Family
ID=70311671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911171179.6A Pending CN111078516A (zh) | 2019-11-26 | 2019-11-26 | 分布式性能测试方法、装置、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078516A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111913884A (zh) * | 2020-07-30 | 2020-11-10 | 百度在线网络技术(北京)有限公司 | 分布式测试方法、装置、设备、系统和可读存储介质 |
CN112346980A (zh) * | 2020-11-11 | 2021-02-09 | 杭州飞致云信息科技有限公司 | 软件性能测试方法、系统和可读存储介质 |
CN112860553A (zh) * | 2021-02-05 | 2021-05-28 | 北京迈格威科技有限公司 | 模型测试方法、装置、分布式集群、电子设备及存储介质 |
CN113535560A (zh) * | 2021-07-14 | 2021-10-22 | 杭州网易云音乐科技有限公司 | 测试执行方法、装置、存储介质和计算设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729126A (zh) * | 2016-08-12 | 2018-02-23 | 中国移动通信集团浙江有限公司 | 一种容器云的任务调度方法和装置 |
CN110389900A (zh) * | 2019-07-10 | 2019-10-29 | 深圳市腾讯计算机系统有限公司 | 一种分布式数据库集群测试方法、装置及存储介质 |
CN110417613A (zh) * | 2019-06-17 | 2019-11-05 | 平安科技(深圳)有限公司 | 基于Jmeter的分布式性能测试方法、装置、设备及存储介质 |
-
2019
- 2019-11-26 CN CN201911171179.6A patent/CN111078516A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729126A (zh) * | 2016-08-12 | 2018-02-23 | 中国移动通信集团浙江有限公司 | 一种容器云的任务调度方法和装置 |
CN110417613A (zh) * | 2019-06-17 | 2019-11-05 | 平安科技(深圳)有限公司 | 基于Jmeter的分布式性能测试方法、装置、设备及存储介质 |
CN110389900A (zh) * | 2019-07-10 | 2019-10-29 | 深圳市腾讯计算机系统有限公司 | 一种分布式数据库集群测试方法、装置及存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111913884A (zh) * | 2020-07-30 | 2020-11-10 | 百度在线网络技术(北京)有限公司 | 分布式测试方法、装置、设备、系统和可读存储介质 |
CN112346980A (zh) * | 2020-11-11 | 2021-02-09 | 杭州飞致云信息科技有限公司 | 软件性能测试方法、系统和可读存储介质 |
CN112346980B (zh) * | 2020-11-11 | 2023-11-03 | 杭州飞致云信息科技有限公司 | 软件性能测试方法、系统和可读存储介质 |
CN112860553A (zh) * | 2021-02-05 | 2021-05-28 | 北京迈格威科技有限公司 | 模型测试方法、装置、分布式集群、电子设备及存储介质 |
CN113535560A (zh) * | 2021-07-14 | 2021-10-22 | 杭州网易云音乐科技有限公司 | 测试执行方法、装置、存储介质和计算设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190377604A1 (en) | Scalable function as a service platform | |
US11275622B2 (en) | Utilizing accelerators to accelerate data analytic workloads in disaggregated systems | |
US9634956B2 (en) | Multilevel multipath widely distributed computational node scenarios | |
CN111078516A (zh) | 分布式性能测试方法、装置、电子设备 | |
US20180052709A1 (en) | Dynamic usage balance of central processing units and accelerators | |
CN107370796B (zh) | 一种基于Hyper TF的智能学习系统 | |
US20160378754A1 (en) | Fast query processing in columnar databases with gpus | |
US20220329651A1 (en) | Apparatus for container orchestration in geographically distributed multi-cloud environment and method using the same | |
US8832215B2 (en) | Load-balancing in replication engine of directory server | |
US10572421B2 (en) | Topology-aware parallel reduction in an accelerator | |
US11269691B2 (en) | Load distribution for integration scenarios | |
US11418583B2 (en) | Transaction process management by dynamic transaction aggregation | |
US11561824B2 (en) | Embedded persistent queue | |
US10802874B1 (en) | Cloud agnostic task scheduler | |
CN107967165B (zh) | 基于lvm的虚拟机离线迁移方法 | |
US12026562B2 (en) | Industry opinionated API managed service | |
US20230418681A1 (en) | Intelligent layer derived deployment of containers | |
US11954534B2 (en) | Scheduling in a container orchestration system utilizing hardware topology hints | |
US10587725B2 (en) | Enabling a traditional language platform to participate in a Java enterprise computing environment | |
US10481963B1 (en) | Load-balancing for achieving transaction fault tolerance | |
US10048940B2 (en) | Parallel generation of random numbers | |
US20190377725A1 (en) | Dynamically optimizing flows in a distributed transaction processing environment | |
Mangwani et al. | Container Based Scalability and Performance Analysis of Multitenant SaaS Applications | |
US20240168663A1 (en) | Sharing node storage resources with the entire cluster | |
CN115525425B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200428 |