分布式可扩展工作负载测试制造技术

技术编号:17352101 阅读:42 留言:0更新日期:2018-02-25 22:44
描述了包括编码在计算机存储介质上的计算机程序的装置、系统和方法,用于:分配多个节点;在多个节点上实现第一池的工作者,每个节点包括来自第一池的工作者中的一个或多个;向第一池的工作者提供用于执行被配置为与计算机系统交互的第一任务的指令集;使用第一池的工作者执行第一任务;以及当来自第一池的工作者正在执行第一任务时,监视与计算机系统相关联的至少一个性能度量。

Distributed scalable workload testing

Describes a device, system and method, including computer program encoding in computer storage for the distribution of a plurality of nodes; the first pool of workers on multiple nodes, each node includes one or more from the first pool of workers; provide for execution is configured as the first task and computer system the interactive instruction set to the first pool of workers; perform the first task using the first pool of workers; and when the pool of workers from the first is the implementation of the first task, monitoring and related computer system with at least one individual can measure.

【技术实现步骤摘要】
【国外来华专利技术】分布式可扩展工作负载测试相关申请的交叉引用本申请要求于2015年6月9日提交的美国临时专利申请No.62/173,251的优先权,其全部内容通过引用合并于此。
技术介绍
计算机系统和相关服务面临用户对更高性能和可靠性的不断增长的需求。在实施之前和之后对这些服务进行测试对确保服务正常运行并能够跟上用户的需求十分重要。用于测试计算机系统的现有工具通常不灵活,难以扩展,并且不提供云支持。这些工具通常试图确定系统可以处理多少个并发用户。然而,这种方法的问题是假设每个用户(由连接表示)执行单个请求并在执行下一个请求之前等待响应(例如,每个连接执行单个请求的闭合反馈回路)。这种假设对于Web应用来说通常不是有效的。例如,不同的用户可以发起不同类型的动作,并且这些动作可以产生可能具有不同权重的多个请求。此外,在同步请求响应周期中,响应时间的改变可以随着发送到正在测试的系统(即,被测系统或“SUT”)的请求的数目而改变。
技术实现思路
本说明书中描述的主题的实现涉及用于分布式工作负载测试的系统和方法。本文所描述的基准系统可以执行由用户编写的测试场景(例如,具有各种负载配置文件),并且生成来自适用于被测系统(SUT)的多个节点的工作负载(在本文中也被称为“负载”)。基准系统可以生成可扩展到每秒数百万次请求的工作负载和/或可以从在多个数据中心上分布的节点上被生成。基准系统可以在节点之间协调,使得节点充当用户的单个单元。基准系统可以用于在测试期间监视和/或收集与SUT的性能相关联的度量(例如,计数器和/或直方图)。可以基于性能度量来自动生成报告和各种图表。基准系统提供了一个快速的开发环境,并提供了一步式测试部署和执行。一方面,本文所描述的主题涉及测试计算机系统的方法。该方法包括使用一个或多个计算机执行以下步骤:在多个节点上实现第一池的工作者(worker),每个节点包括来自第一池的工作者中的一个或多个;向第一池的工作者提供用于执行被配置为与计算机系统交互的第一任务;使用第一池的工作者执行第一任务;以及当来自第一池的工作者正在执行第一任务时,监视与计算机系统相关联的至少一个性能度量。在某些示例中,多个节点中的每个节点是或者包括虚拟机和/或物理机。多个节点可以驻留在多个数据中心上。在某些情况下,来自第一池的每个工作者都驻留在单独的节点上。可选地或附加地,来自第一池的至少两个工作者驻留在单个节点上。多个节点可以包括至少一个指挥者(director)节点和至少一个工作者节点。第一任务可以包括向计算机系统发送请求。该请求可以是或包括例如超文本传输协议(HTTP)请求和/或消息队列(MQ)请求。在各种情况下,当执行第一任务时,来自第一池的每个工作者以指定的速率向计算机系统发送一系列请求。可选地或附加地,当执行第一任务时,来自第一池的每个工作者可以被配置为向计算机系统发送请求,而无需等待从计算机系统接收到对先前请求的响应。该至少一个性能特性可以是或者包括例如速度和/或延迟。该方法可以包括将该至少一个性能度量提供给用户的客户端设备。该方法可以包括提供被配置为充当第一池的工作者和计算机系统之间的接口的工作者模块。在一些示例中,该方法包括:在多个节点上实现第二池的工作者,每个节点包括来自第二池的一个或多个工作者;向第二池的工作者提供用于执行被配置为与计算机系统进行交互的第二任务的指令集;以及使用第二池的工作者来执行第二任务。第一任务和第二任务可以被并行执行。另一方面,本文所描述的主题涉及一种系统。该系统包括被编程为执行操作的一个或多个计算机,所述操作包括:在多个节点上实现第一池的工作者,每个节点包括来自第一池的工作者中的一个或多个;向第一池的工作者提供用于执行被配置为与计算机系统交互的第一任务的指令集;使用第一池的工作者来执行第一任务;以及当来自第一池的工作者正在执行第一任务时,监视与计算机系统相关联的至少一个性能度量。在某些示例中,多个节点中的每个节点是或者包括虚拟机和/或物理机。多个节点可以驻留在多个数据中心上。在某些情况下,来自第一池的每个工作者都驻留在单独的节点上。可选地或附加地,来自第一池的至少两个工作者驻留在单个节点上。多个节点可以包括至少一个指挥者节点和至少一个工作者节点。第一任务可以包括向计算机系统发送请求。该请求可以是或包括例如超文本传输协议(HTTP)请求和/或消息队列(MQ)请求。在各种情况下,当执行第一任务时,来自第一池的每个工作者以指定的速率向计算机系统发送一系列请求。可选地或附加地,当执行第一任务时,来自第一池的每个工作者可以被配置为向计算机系统发送请求,而无需等待从计算机系统接收到对先前请求的响应。该至少一个性能特性可以是或者包括例如速度和/或延迟。该操作可以包括将该至少一个性能度量提供给用户的客户端设备。该操作可以包括提供被配置为充当第一池的工作者和计算机系统之间的接口的工作者模块。在一些示例中,该操作包括:在多个节点上实现第二池的工作者,每个节点包括来自第二池的一个或多个工作者;向第二池的工作者提供用于执行被配置为与计算机系统交互的第二任务的指令集;以及使用第二池的工作者来执行第二任务。第一任务和第二任务可以被并行执行。另一方面,本文所描述的主题涉及一种存储设备。该存储设备在其上存储有指令,该指令在由一个或多个计算机执行时执行包括以下各项的操作:在多个节点上实现第一池的工作者,每个节点包括来自第一池的工作者中的一个或多个;向第一池的工作者提供用于执行被配置为与计算机系统交互的第一任务的指令集;使用第一池的工作者执行第一任务;以及当来自第一池的工作者正在执行第一任务时,监视与计算机系统相关联的至少一个性能度量。在某些示例中,多个节点中的每个节点是或者包括虚拟机和/或物理机。多个节点可以驻留在多个数据中心上。在某些情况下,来自第一池的每个工作者驻留在单独的节点上。可选地或附加地,来自第一池的至少两个工作者驻留在单个节点上。多个节点可以包括至少一个指挥者节点和至少一个工作者节点。第一任务可以包括向计算机系统发送请求。该请求可以是或包括例如超文本传输协议(HTTP)请求和/或消息队列(MQ)请求。在各种情况下,当执行第一任务时,来自第一池的每个工作者以指定的速率向计算机系统发送一系列请求。可选地或附加地,当执行第一任务时,来自第一池的每个工作者可以被配置为向计算机系统发送请求,而无需等待从计算机系统接收到对先前请求的响应。该至少一个性能特性可以是或者包括例如速度和/或延迟。该操作可以包括将该至少一个性能度量提供给用户的客户端设备。该操作可以包括提供被配置为充当第一池的工作者和计算机系统之间的接口的工作者模块。在一些示例中,该操作包括:在多个节点上实现第二池的工作者,每个节点包括来自第二池的一个或多个工作者;向第二池的工作者提供用于执行被配置为与计算机系统交互的第二任务的指令集;以及使用第二池的工作者来执行第二任务。第一任务和第二任务可以被并行执行。在本说明书中所描述的主题的一个或多个实施例的细节在下面的附图和具体实施方式中阐述。主题的其他特征、方面和优点将从具体实施方式、附图和权利要求中变得显而易见。附图说明图1和图2是用于测试计算机系统的示例基准系统的示意图。图3是基准系统的示例工作者节点的示意图。图4-图6是本文档来自技高网...
分布式可扩展工作负载测试

【技术保护点】
一种测试计算机系统的方法,所述方法包括:由一个或多个计算机执行以下操作:在多个节点上实现第一池的工作者,每个节点包括来自所述第一池的所述工作者中的一个或多个工作者;向所述第一池的工作者提供用于执行被配置为与所述计算机系统交互的第一任务的指令集;使用所述第一池的工作者执行所述第一任务;以及当来自所述第一池的所述工作者正在执行所述第一任务时,监视与所述计算机系统相关联的至少一个性能度量。

【技术特征摘要】
【国外来华专利技术】2015.06.09 US 62/173,2511.一种测试计算机系统的方法,所述方法包括:由一个或多个计算机执行以下操作:在多个节点上实现第一池的工作者,每个节点包括来自所述第一池的所述工作者中的一个或多个工作者;向所述第一池的工作者提供用于执行被配置为与所述计算机系统交互的第一任务的指令集;使用所述第一池的工作者执行所述第一任务;以及当来自所述第一池的所述工作者正在执行所述第一任务时,监视与所述计算机系统相关联的至少一个性能度量。2.根据权利要求1所述的方法,其中,所述多个节点中的每个节点包括虚拟机和物理机中的至少一个。3.根据权利要求1所述的方法,其中,所述多个节点驻留在多个数据中心上。4.根据权利要求1所述的方法,其中,来自所述第一池的每个工作者驻留在单独的节点上。5.根据权利要求1所述的方法,其中,来自所述第一池的至少两个工作者驻留在单个节点上。6.根据权利要求1所述的方法,其中,所述多个节点包括至少一个指挥者节点和至少一个工作者节点。7.根据权利要求1所述的方法,其中,所述第一任务包括向所述计算机系统发送请求。8.根据权利要求7所述的方法,其中,所述请求是从由超文本传输协议(HTTP)请求和消息队列(MQ)请求组成的群组中选择出的。9.根据权利要求1所述的方法,其中,当执行所述第一任务时,来自所述第一池的每个工作者以指定的速率向所述计算机系统发送一系列请求。10.根据权利要求1所述的方法,其中,当执行所述第一任务时,来自所述第一池的每个工作者被配置为向所述计算机系统发送请求而无需等待从所述计算机系统接收到对先前请求的响应。11.根据权利要求1所述的方法,其中,所述至少一个性能特性是从由速度、延迟及其组合组成的群组中选择出的。12.根据权利要求1所述的方法,还包括将所述至少一个性能度量提供给用户的客户端设备。13.根据权利要求1所述的方法,还包括提供工作者模块,所述工作者模块被配置为充当所述第一池的工作者和所述计算机系统之间的接口。14.根据权利要求1所述的方法,还包括:在所述多个节点上实现第二池的工作者,每个节点包括来自所述第二池的一个或多个工作者;向所述第二池的工作者提供用于执行被配置为与所述计算机系统交互的第二任务的指令集;以及使用所述第二池的工作者来执行所述第二任务。15.根据权利要求14所述的方法,其中,所述第一任务和所述第二任务被并行执行。16.一种系统,包括:被编程为执行操作的一个或多个计算机,所述操作包括:在多个节点上实现第一池的工作者,每个节点包括来自所述第一池的所述工...

【专利技术属性】
技术研发人员:瓦博哈弗·加尔格雷纳特·伊德利索夫迪姆费·巴尔明安德雷·瓦瑟尼恩瓦迪姆·里维诺夫德米特里·伊万诺夫
申请(专利权)人:机械地带有限公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1