CN102043674A - 基于响应时间估计服务资源消耗 - Google Patents

基于响应时间估计服务资源消耗 Download PDF

Info

Publication number
CN102043674A
CN102043674A CN2010105098313A CN201010509831A CN102043674A CN 102043674 A CN102043674 A CN 102043674A CN 2010105098313 A CN2010105098313 A CN 2010105098313A CN 201010509831 A CN201010509831 A CN 201010509831A CN 102043674 A CN102043674 A CN 102043674A
Authority
CN
China
Prior art keywords
services
request
workload
average demand
queuing model
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
Application number
CN2010105098313A
Other languages
English (en)
Other versions
CN102043674B (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.)
SAP SE
Original Assignee
SAP SE
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 SAP SE filed Critical SAP SE
Publication of CN102043674A publication Critical patent/CN102043674A/zh
Application granted granted Critical
Publication of CN102043674B publication Critical patent/CN102043674B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/3447Performance evaluation by modeling
    • 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
    • G06F11/3419Recording 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 by assessing time
    • 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/3457Performance evaluation by simulation
    • G06F11/3461Trace driven simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开涉及基于响应时间估计服务资源消耗。本公开的实施方案提供了计算机实施的方法,包括:定义包含多个服务请求的工作量,每一服务请求对应于多个类别中的一个类别;把工作量施加于接收和处理服务请求的计算机系统;测量计算机系统针对工作量的每一请求的响应时间;基于响应时间和代表计算机系统的基本排队模型估计每一类别的平均服务需求;和,基于平均服务需求和工作量的特性产生排队模型。

Description

基于响应时间估计服务资源消耗
技术领域
本公开涉及产生排队模型的方法和相关系统。
背景技术
可以通过分析方法或者通过仿真来实现性能模型以预测软件和硬件系统的可扩展性。更具体地说,对软件和硬件系统的请求对用来对请求做出响应的系统资源提出了需求。尽管存在用于获取这些系统的性能预测的建模和评估技术,但是几乎没有能够提供良好的服务需求(service demand)估计的资源消耗估计方法。服务需求是确定性能模型的重要参数。因此,为了定义既有代表性又鲁棒的模型,需要准确的服务需求估计。
传统上采用中央处理单元(CPU)利用率来估计软件和硬件系统的服务需求。但是,使用CPU利用率受几种不足之处困扰。例如,CPU利用率测量要求访问在硬件上执行的操作系统,并且还要求专用的CPU采样设备。CPU采样设备可能干扰正常的系统活动,并且可能提供不准确的CPU利用率测量。在某些情形下,例如在虚拟化环境中,准确的CPU利用率采样更为困难,例如因为需要过滤管理程序开销。在另外一些情形中,要被建模的系统由例如网页服务提供商的第三方拥有,而第三方不提供其服务器的CPU利用率数据。
发明内容
本公开的实施方案提供了计算机实施的用于产生计算机系统的排队模型的方法。在某些实施方案中,所述方法包括:定义包含多个服务请求的工作量(workload),每一服务请求对应于多个类别(class)中的一个类别;把工作量施加于接收和处理服务请求的计算机系统;测量计算机系统针对工作量的每一请求的响应时间;基于响应时间和代表计算机系统的基本排队模型估计每一类别的平均服务需求;和,基于平均服务需求和工作量的特性产生排队模型。工作量的特性可以包括但不限于:到达队列中的请求的到达间隔时间分布,例如具有每秒5个请求的均值的指数到达间隔时间。
在某些实施方案中,所述方法还包括确定和工作量的每一请求对应的多个到达队列长度,其中,估计平均服务需求还基于所述多个到达队列长度。可以从报告请求的到达和离开的时间的日志文件确定所述多个到达队列长度中的每一到达队列长度。
在某些实施方案中,所述方法还包括:确定和工作量的每一请求对应的多个剩余时间(residual time),其中,估计平均服务需求还基于所述多个剩余时间。每一剩余时间可以对应于在将要被处理的请求到达时完成处理中的请求的处理所需的剩余时间。
在某些实施方案中,估计平均服务需求包括基于测量的响应时间,使用线性回归(linear regression)和最大似然法分析之一,在基本排队模型中估计平均服务需求。
在某些实施方案中,产生排队模型包括使用平均服务需求参数化基本排队模型。
在某些实施方案中,基本排队模型包括对排队模型的特性的假设,所述特性包含调度和服务需求分布(service demand distribution)其中至少一个。
在某些实施方案中,计算机系统包括执行应用的应用服务器,以及产生请求的一个或多个客户端系统。
在某些实施方案中,所述方法还包括通过处理排队模型评估计算机系统的性能。
本公开还提供了耦合到一个或多个处理器并且其上存储有指令的计算机可读存储介质,所述指令在被所述一个或多个处理器执行时导致所述一个或多个处理器根据这里提供的方法的实施方案执行操作。
本公开还提供了用于实施这里提供的方法的系统。所述系统包括:接收和处理服务请求的计算机系统;一个或多个处理器;和,耦合到一个或多个处理器并且其上存储有指令的计算机可读存储介质,所述指令在被所述一个或多个处理器执行时导致所述一个或多个处理器根据这里提供的方法的实施方案执行操作。
要理解根据本公开的方法可以包括这里描述的方面和特征的任意组合。也就是说,根据本公开的方法不限于这里具体描述的方面和特征的组合,而是也包括所提供的方面和特征的任意组合。
在附图和下面的描述中给出了本公开的一个或多个实施方案的细节。从描述、附图和权利要求,本公开的其他特征和优点将会清晰。
附图说明
图1是根据本公开实施方案的示范性系统架构的示意图。
图2是示范性企业资源计划(enterprise resource planning,ERP)系统的功能框图。
图3是对应于示范性ERP应用的示范性排队模型的功能框图。
图4概括了根据本公开的实施方案的基于响应时间的方法。
图5是示出测量的响应时间和测量的队列长度之间的线性关系的图。
图6A和图6B是分别示出根据本公开的实施方案的基于响应时间方法和传统的基于利用率的方法的响应时间预测的比较的图。
图7A到图7C是示出在不同的服务器利用率水平的示范性平均相对误差(mean relative error)的图。
图8A到图8C示出了和图7A到图7C的平均相对误差对应的示范性累积分布函数(cumulative distribution functions,CDF)。
图9是流程图,示出了根据本公开的实施方案可以执行的示范性步骤。
图10是可以用来执行本公开的实施方案的示范性计算机系统的示意图。相同的参考符号在各个附图中指示相同的元件。
具体实施方式
具体参考图1,示出了示范性系统100。可以将图1的示范性系统100提供为企业资源计划(ERP)系统,其包括多个客户端计算机102,所述多个客户端计算机102通过网络110与一个或多个后端服务器系统106通信。所述网络可以被提供为大型计算机网络,例如局域网(LAN)、广域网(WAN)、国际互联网、蜂窝网络,或者连接任意数量的移动客户端和服务器的以上网络的组合。在某些实施方案中,客户端102可以直接连接到服务器系统106(例如不通过网络连接)。
客户端计算机102代表各种形式的处理设备,包括但不限于台式计算机、膝上型计算机、手持计算机、个人数字助理(PDA)、蜂窝电话、网络家电、相机、智能电话、增强型通用分组无线业务(enhanced general packet radioservice,EGPRS)移动电话、媒体播放器、导航设备、电子邮件设备、游戏控制台,或者这些数据处理设备中的任何两个或者更多个的组合,或其他的数据处理设备。服务器系统106包括应用服务器112和数据库114,并且旨在代表各种形式的服务器,包括但不限于网页服务器、应用服务器、代理服务器、网络服务器和/或服务器群。一般来说,服务器系统106接受用户对应用服务的请求,并通过网络110把这些服务提供给任意数量的客户端设备102。在某些实施方案中,服务器系统106能够提供中央点,服务提供商能够通过所述中央点管理和访问与网页服务相关的数据。
在操作中,多个客户端102可以通过网络110与服务器系统106通信。为了运行应用,例如基于浏览器的应用,每一个客户端102都能够建立与服务器系统106的相应会话。每个会话可以涉及服务器系统106和每一单个客户端102之间的双向信息交换。这种双向信息交换可以包括在客户端102产生的、被传递到服务器系统106的请求。服务器系统106接收请求,把多个请求排队,基于请求执行处理,并向请求的客户端102提供响应。
本公开的实施方案专注于对例如上面参考图1讨论的系统100的计算机软件和硬件系统的服务需求进行准确估计。尽管使用ERP系统来举例说明本公开的实施方案,但是,本公开的适用性不限于ERP系统。更具体地,本公开可应用于任何计算机软件和硬件系统,包括但不限于任何类型的多层程序应用、硬件(例如磁盘驱动器或者存储器)的建模,和/或网络链路。
本公开的实施方案提供了估计方法,所述方法使用测量的请求响应时间来估计多类别工作量的服务需求。规定响应时间为用于完成请求的端到端时间,并且既包括服务时间(例如,请求被办理或者服务的时间),也包括因资源竞争所致的延迟(例如因缓冲所致的等待时间)。工作量(即请求主体(bodyofrequest))可以包括几个类别(即事务(transaction)类型)。本公开的实施方案基于响应时间测量解决针对每一类别的服务时间(也称为服务需求)的估计。
举个非限制性例子,使用真实世界的工业ERP应用来举例说明本公开的实施方案,该实施方案表明所公开的基于响应时间的方法带来了改善的性能预测。本公开的基于响应时间的方法可更广泛地应用,因为响应时间通常被执行中的应用直接记录,和/或可以由外部观察者获取。此外,对于由不公开披露其服务器的利用率数据的诸如网页服务提供商的第三方所拥有的系统,可以很容易地获得响应时间。
本公开的服务需求估计方法可以利用具有先到先服务(first-comefirst-served,FCFS)调度的系统来实施,但不限于此,并且基于线性回归和最大似然估计方法。基于响应时间的线性回归使用精确等式将请求的平均响应时间与请求到达系统时看到的队列长度相关联,而这两者都能很容易地从应用日志获取。最大似然方法考虑测量的响应时间的整体分布,并且能够实现提高的估计准确性。使用相位型分布(phase-type distribution),本公开提供了评估似然值和估计资源消耗的计算方法。
使用这种信息来参数化对底层系统建模的排队模型。如这里所使用的,参数化包括确定和定义模型的完整或相关规范所必需的参数,在本例中所述模型是排队模型。排队模型是近似实际排队系统以便可以使用稳态性能量度来分析排队行为的模型。可以使用Kendall表示法来表示排队模型,Kendall表示法被规定为A/B/S/K/N/Disc,其中A是到达间隔时间分布,B是服务时间分布,S是例如服务器的数量,K是系统容量,N是呼叫总体(callingpopulation),并且Disc是假设的服务规则。在某些实例中,K、N和Disc被省略,所以该表示法变为A/B/S。用于分布A和/或B的标准表示法包括用于马尔可夫过程(指数)分布的M、用于具有κ相的Erlang分布的Eκ、用于退化(或确定性)分布的D(常数)、用于一般分布(general distribution)的G(任意)和用于相位型分布的PH。
下面进一步详细讨论的数值结果示出了基于响应时间方法与基于利用率的方法相比提高的准确性。此外,本公开的基于响应时间方法的内在优点是,服务器处的响应时间依赖于系统内由请求引发的所有延迟退化。因此,响应时间从本质上讲是性能的更全面的描述者,因为响应时间计入了带宽、存储器和输入/输出(I/O)竞争延迟。本公开的基于响应时间的方法很容易计入这些延迟,而这些延迟却被传统方法忽略。
现在参考图2,图2示出了简化的示范性应用服务器系统200。将图2的简化架构展示为用来说明本公开的实施方案的非限制性例子。系统200包括应用服务器系统202和工作量产生器204。工作量产生器204起到多个客户端设备(例如客户端102)的作用,所述客户端设备向应用服务器系统202传送请求,对应用服务器系统202的资源提出服务需求。系统200可以包括一个或多个应用程序的ERP应用,例如在由德国Walldorf的SAPAG提供的SAP商业套装中包括的那些应用。图2的示范性系统200按两层结构提供,并且包括应用服务器和安装在常用虚拟机(common virtual machine)上的数据库服务器。在图2的例子中,为了本说明的目的,在物理机上没有其他的虚拟机运行。但是要理解,本公开不局限于这种结构。
使用操作(例如销售和分销)的工作量对系统200进行压力测试,所述操作可以包括但不限于标准商业事务(例如生成和/或列出销售订单和发票)。工作量产生器204可以是封闭类型的,其中,请求由固定的N个用户的组206发出。在用户提交的请求完成后,在把新的请求提交给系统之前,指数分布的思考时间(例如具有等于10秒的平均时间Z)过期。所有用户206可以循环提交相同的请求序列到ERP应用。在提交请求后,应用服务器处理来自多个并发用户206的请求。可以使用从数据库208提取的信息实现这种处理。应用服务器使用分派器210,分派器210缓冲队列中的请求并把请求转移到工作过程212。工作过程212可以被规定为并行地为请求服务的独立的操作系统线程。工作过程212可以被作为执行交互作用程序的对话过程执行,或者被作为执行数据库改变的更新过程执行。
如果使用测量的响应时间(RMEAS)估计请求的资源消耗,则描述(例如图2的)ERP应用的性能的基本排队模型的参数化可以被显著改善。为此任务考虑的性能模型包括但不限于:基本M/M/1//N模型300,其示范性结构在图3中示出。图3的示范性模型300包括延迟服务器302和ERP系统304,ERP系统304包括等待缓冲区306和工作过程及数据库系统308。M/M/1//N模型300是M/M/1队列,且请求由N个用户的有限总体产生。这也可以被看作由封闭环路上对用户思考时间建模的延迟站、以及跟随的排队站所组成的封闭排队网络。等待缓冲区306代表ERP系统304中的准入控制,并且服务器对请求被在工作过程中执行时的资源消耗建模。
数据库服务器的利用率小于5%很常见。因此,在数据库层的排队影响可忽略,并且从数据库提供数据的总时间
Figure BSA00000306898100061
可被用作工作过程中服务需求的分量。排队模型中的思考时间和服务需求都可被假设成指数分布。这个假设已经被证实是ERP系统中实际服务需求分布的良好近似。测量的服务需求的变化系数(coefficient of variation,CV)(即标准差和均值之比)在不同的验证(validation)中范围在CV=[1∶02;1∶35]中,而对于理论指数是CV=1。和模型假设一致,也使用指数分布产生了用于验证的所有思考时间。
当参数化排队模型时,最初确定基本排队模型。基本排队模型是代表来自计算机系统的资源(例如CPU)的请求的到达和离开的随机模型。基本排队模型被作为分析者的抽象来提供,以便捕获影响由被建模的资源服务的请求的性能的现象。针对这种排队模型定义的用以描述计算机系统的特性包括资源调度规则及其服务时间分布,以及和其他资源的互连和/或到达每一资源的请求的统计特性。基于这个信息,例如可以使用标准马尔可夫链理论提供基本排队模型。随后,基于通过处理基本排队模型和测量的响应时间可以确定的估计平均服务需求,最终或者目标排队模型可被参数化。在本公开中提供的平均服务需求的估计实现了对在基本排队模型中建模的一个或多个资源的服务时间分布的参数化。
确定在服务器处请求的平均服务需求(E[D]),以使对于所有可能的用户数N,由模型预测的响应时间准确地和实际系统的测量的响应时间(RMEAS)匹配。由于在轻负荷和重负荷下对ERP系统的行为产生非常不同的影响的高速缓存的巨大作用,在模型中服务需求被规定为用户数量N的函数(即E[D]≡E[D](N))。在对复杂软件系统建模时惯常使用这种估计方法。
现在参考图4,本公开提供了基于响应时间量度(RMEAS)的排队模型的直接参数化。更具体地,估计服务需求,以便和测量的响应时间的分布或者时刻最佳匹配。这要求如图4中所示的建模方法学上重要的范式转移(paradigmshift)。图4的建模方法学包括数据收集400、建模假设(例如调度和服务分布)402、需求估计404和模型产生和求解(solution)406。模型的解决方案可以由平均响应时间、平均吞吐率(throughout)和在随机时刻在队列中观察到特定数量的请求的概率的值来提供。
因为响应时间依赖于几个和调度或者服务需求分布相关的系统属性,因此在开始服务需求估计活动之前,进行有关调度或者分布的一般形式的假设。假设可以包括但不限于:调度的类型(例如FCFS调度)、要被建模的工作量类别的数量,以及每一请求的服务需求的分布(例如指数分布)。结果,返回的服务需求依赖于它们将在其中被使用的模型的特性。提供有关最终模型的特性的初步假设以确定相对于目标模型的最可能的服务需求估计。因为建模活动的目标是获取实验观察和模型预测之间良好的一致,因此本公开的基于响应时间的方法通过返回模型假设下最好的参数而更专注于实现这个目标。
如上面所讨论的那样,说明性的ERP系统可以被建模为具有指数分布服务需求的FCFS队列。例如,指数分布可以描述过程中事件之间的时间,在所述过程中,事件以恒定平均速率连续地并且独立地发生。在这些假设下,发现系统具有n个等待请求和一个服务中的请求的请求接收由随机变量的和的分布给出的响应时间分布,为:
R=T+D1+D2+...+Dn+Dn+1    (1)
其中,T是完成服务中的请求之前的剩余时间,对于1≤i≤n,Di是第i个排队请求的服务需求,并且Dn+1是新到达的请求的服务需求。注意,按指数分布的定义,T等于D,因此随机变量R的分布是n+1个指数随机变量的卷积。
通过简单推导,可以显示平均响应时间被发现满足下列关系:
E[R]=E[D](1+E[A])    (2)
其中E[D]是平均服务需求,并且E[A]是在到达时请求所观察到的平均队列长度。给定在新请求到达时ERP系统中请求的平均数量的知识,等式2可以被用来估计请求的平均服务需求。值A可以从已被执行的实验的日志文件获取,所述日志文件报告请求的到达和离开时间。使用通过平均RMEAS和测量的X个连续请求(例如X=20)的组的A值获取的E[R]和E[A]的采样的序列,E[D]的估计可以通过等式2的线性回归获取。图5中提供了ERP系统中E[R]和E[A]之间的测量的线性关系的示范性图示。
从等式2,E[D]可被线性回归评估为:
E [ R MEAS i ] = E [ D ] ( 1 + E [ A MEAS i ] ) - - - ( 3 )
其中,索引i代表在测量活动中收集的第i个值,并且
Figure BSA00000306898100084
分别是在X(例如X=20)个连续的i采样上平均的响应时间和到达队列长度。
使用上面描述的等式作为基础,本公开提供了基于线性回归和最大似然技术的用于多类别请求的服务需求估计算法,在这里使用示范性的排队场景进一步详细描述其中的每一个。只是为了示范性说明的目的,假设用户已经提供了具有总共I个采样的输入追踪(trace)给服务需求估计算法。这可以包括但不限于:用于类别c的请求的测量的响应时间(Rc)的序列,以及对应的在到达时每一个类别c请求看到的类别k请求的队列长度
Figure BSA00000306898100085
工作量类别的数量用K表示。
在一个实施方案中,如果有关指数服务的假设被放弃,或者考虑了多个类别,则在等式3中给定的线性关系不变。因此,在具有多个类别的非乘积形式排队网络中为近似FCFS队列展开的表达式的变体可以被提供为:
E [ R c ] = E [ T c ] + Σ k = 1 k E [ D k ] ( 1 k , c + E [ A k c ] ) - - - ( 4 )
其中,当k=c时1k,c等于1,并且当k≠c时等于0。Tc是完成类别c请求到达的时刻在执行中的请求之前的剩余时间,K是请求类别的数量,E[Dk]是类别k的平均服务需求,并且
Figure BSA00000306898100092
是在系统中排队的类别k的请求(排除新到达的请求和当前服务中的请求)的平均数量。
例如,等式4能够提供GI/GI/1/FCFS队列中类别c的请求的平均请求时间。GI指示一般独立分布,它是其中请求相互独立的一般分布的特定类型。在具有FCFS调度的GI/GI/1队列的示范性例子中,描述当系统具有n+1个排队的请求(即n个等待的请求加一个服务中的请求)时到达的类别c的请求的响应时间的随机变量可以被提供为:
Rc=Tc+D1+D2+...+Dn+Dc    (5)
其中,Tc是完成服务中的当前请求之前的剩余时间,对于1≤i≤n,Di是第i个排队请求的服务需求,并且Dc是新到达的请求的服务需求。
在到达队列长度为Ac=n的条件下的预期为:
E [ R c | A c = n ] = E [ T c | A c = n ] + Σ i = 1 n E [ D i | A c = n ] + E [ D c ] - - - ( 6 )
其中,C(i)是位置i(1≤i≤n)中的请求的类别。
作为请求类别的函数的服务需求可以被表示为:
E [ D i | A c = n ] = Σ k = 1 K E [ D k ] P [ C ( i ) = k | A c = n ] - - - ( 7 )
把等式7带入等式6得到:
E [ R c | A c = n ] = E [ T c | A c = n ] + Σ i = 1 n Σ k = 1 K P [ C ( i ) = k | A c = n ] E [ D k ] - - - ( 8 )
随后平均响应时间可以被基于
E [ R c ] = Σ n = 1 + ∞ E [ R c | A c = n ] P [ A c = n ]
= E [ T c ] + Σ k = 1 K E [ D k ] Σ n = 1 + ∞ ( 1 k , c + Σ i = 1 n P [ C ( i ) = k | A c = n ] P [ A c = n ] )
(9)
= E [ T c ] + Σ k = 1 K E [ D k ] ( 1 k , c + Σ n = 1 + ∞ E [ A k c | A c = n ] P [ A c = n ] )
= E [ T c ] + Σ k = 1 K E [ D k ] ( 1 k , c + E [ A k c ] )
确定,其中,
Figure BSA00000306898100101
是在类别c的请求到达时在队列中等待的类别k请求的平均数量
Figure BSA00000306898100102
类别需求E[Dk]的估计可以从等式4使用例如非负最小二乘算法(non-negative least-squares algorithm)(例如Mathworks,Inc的MATLAB中提供的lsqnonneg)的回归方法获取,并且有关估计的置信间隔可以使用标准公式产生。如果已知每类别响应时间Rc和到达队列长度Ac,可以在线性回归中使用等式4估计平均服务需求E[Dk]。一般地,E[Tc]可能很难直接测量。因此,需要近似来估计这个量。为了实现这一点,可以实施近似方案,其包括但不限于标准泊松到达近似Tc=Dk
由于在示范性GI/GI/1/FCFS队列中缺少剩余时间表达式(Tc)的精确结果,使用下面的用于剩余时间的更新理论表达式:
E [ T c ] = E [ D c ] 2 ( 1 + CV c 2 ) - - - ( 10 )
其中CVc是类别c的服务需求分布的变化系数。这很清楚是GI/GI/1/FCFS队列中的近似,其在到达流是泊松过程时变为精确的表达式。如果CVc值事先未知,仍可能针对不同的被假设针对所研究的系统可行的CVc值评估等式4。在等式4的最小二乘解中产生最小平均剩余误差的集合因而是和观察最相符的变化系数的组,其被选择作为CVc值的最佳估计。这概括了等式4对非指数服务分布的可能应用的一般模式。
在某些实施方案中,最大似然估计可被用于基于观察特定采样路径的概率的分析表达式推断随机变量的统计数值。在平均服务需求估计的范围内,对于所有的1≤i≤I,其中I是测量的响应时间的总数,通过用Ri代表第i个观察到的或者测量的响应时间,可以用公式表示最大似然。寻找对于1≤k≤K的每一类别的平均服务需求E[Dk],以使观察到测量的响应时间R1,...,Ri,...,RI的序列的概率最大。形式上,这可以被表达为找到平均服务需求E[D1],...,E[DK]的集合。这解决了下列最大化问题:
max E [ D 1 ] , . . . , E [ D k ] P [ R 1 , . . . , R i , . . . , R I | E [ D 1 ] , . . . , E [ D K ] ] - - - ( 11 )
对于所有的类别k满足E[Dk]≥0。假设响应时间为独立随机变量,则等式11中的联合概率表达式被简化为乘积:
max E [ D 1 ] , . . . , E [ D k ] Π i = 1 I P [ R i | E [ D 1 ] , . . . , E [ D K ] ] - - - ( 12 )
并且取对数来等效地把乘积表达为和,得到:
max E [ D 1 ] , . . . , E [ D k ] L ( E [ D 1 ] , . . . E [ D K ] ) - - - ( 13 )
其中,自变量现在是为
L ( E [ D 1 ] , . . . E [ D K ] ) = Σ i = 1 I log P [ R i | E [ D 1 ] , . . . E [ D K ] ] - - - ( 14 )
的似然函数。
难点是获取代表所研究的问题,并且对于其能有效计算最大值的似然函数的表达式。这个表达式是分析上可约束的也很重要,因为否则优化可能太昂贵。具体来说,这里的焦点在于估计平均服务需求,因为这是基于乘积形式排队模型的标准容量计划模型的规范的重要参数。
在某些实施方案中,用于导出似然函数的一个方法通过相位型分布刻画主题系统的服务和响应时间,相位型分布享有用于其评估的有效的分析表达式。为了避免不必要的复杂性,给出了用于指数分布服务需求情况的方法,并且提供了将其扩展到一般服务需求的情况。
例如,考虑当针对每一类别有n1,...nK个请求排队时(包括当前在服务中的请求)到达系统的请求。可以针对所有类别假设指数服务需求,并且类别k的平均服务速率由μk=1/E[Dk]表示。第k个请求的响应时间的分布由具有速率μ1的n1个指数服务需求、具有速率μ2的n2个指数服务需求、以此类推到所有K个类别之和给出。结果,这可以被建模为具有n=n1+...+nK个状态的马尔可夫链中的吸收时间(time to absorption),其中,每一状态均代表因请求服务所致的等待时间。举个非限制性例子,如果有K=2个类别,并且在到达时看到的队列是n1=3和n2=2,包括已到达的请求和服务中的请求,则吸收时间可以由具有下列(D0,D1)表示的相位型分布提供:
D 0 = - μ 1 μ 1 0 0 0 0 - μ 1 μ 1 0 0 0 0 - μ 1 μ 1 0 0 0 0 - μ 2 μ 2 0 0 0 0 - μ 2 - - - ( 15 )
D 1 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 μ 2 0 0 0 0 - - - ( 16 )
D0矩阵具有代表从状态i到状态j的转换的位置(i,j)中的对角线外的元素,而D1元素是和吸收相关联的转换。D0的对角线使D0加D1是描述活动状态随着时间的演进的马尔可夫链的无穷小生成元。
(D0,D1)表示使请求接收响应时间Ri的概率能够被有效地确定。吸收时间由相位型分布(D0,D1)的概率密度描述。从吸收马尔可夫链的基本理论,很容易得到:
P [ R i | E [ D 1 ] , . . . , E [ D K ] ] = π → e e D 0 R i ( D 1 ) e → - - - ( 17 )
其中,
Figure BSA00000306898100123
Figure BSA00000306898100124
是行向量,元素
Figure BSA00000306898100125
代表恰在吸收之后的请求的初始状态,并且E[D1],...,E[Dk]的知识等同于知道速率μ1,...,μK。因为在D1中存在导致吸收的单个转换,因此在等式17中立刻可以推定总是有
Figure BSA00000306898100126
并且评估等式17的主要成本是计算矩阵指数函数。这可以使用单值化(uniformization)技术或者通过Padé展开(例如在MATLAB中提供)以有效方式近似。可以把上面描述的方法一般化为可以被近似为相位型的非指数服务需求。
通过用
Figure BSA00000306898100127
代表类别k的服务需求的相位型表示可以说明这个概念。举个非限制性例子,对于Erlang-2分布,这被提供为:
S 0 k = - μ k μ k 0 - μ k ;
S 1 k = 0 0 μ k 0 ,
它蕴含了概率向量 π → e k = ( 1,0 ) .
对于指数情况的相同例子,并且如果使用示范性Erlang-2分布来分布服务,则花在队列上的响应时间可以被表达为:
D 0 = - S 0 1 S 1 1 0 0 0 0 - S 0 1 S 1 1 0 0 0 0 - S 0 1 S 1 1 e → π → e 2 0 0 0 0 - S 0 2 S 1 2 0 0 0 0 - S 0 2 - - - ( 18 )
D 1 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 S 1 2 e → π → e 1 0 0 0 0 - - - ( 19 )
其中,
Figure BSA00000306898100133
项确保相位型分布的适当初始化,因为一般来说,
Figure BSA00000306898100136
的状态空间大小是不同的。为了使用等式17计算似然函数,可以立刻对上述表达式求值。唯一差别是这涉及更大的矩阵。
对于由几个参数规定的服务需求分布,例如超指数分布,上述方法要求或者除了先验平均值以外的所有时刻被固定(例如通过猜测服务过程的变化性),或者把这些额外参数整合为最大似然处理中的未知变量。如果相位型分布由其前M个时刻
Figure BSA00000306898100137
1≤m≤M唯一地规定,则这把最大似然估计问题的结构改变为对如下形式的条件概率求值:
log P [ R i | E [ D k ] , E [ D k 2 ] , . . . , E [ D k M ] , 1 ≤ k ≤ K ] - - - ( 20 )
例如,超指数分布可以被三个参数完全确定。因此,前三个时刻足以完全规定分布。
在存在解决起来最有挑战性的高可变性分布时,按增加的类别数量分解工作量更为可行。以这种方式,每一类别的服务分布可以用指数近似。例如,如果工作量类别拥有具有密度和到达率λ的超指数服务需求,则工作量可以通过分别具有指数服务需求
Figure BSA000003068981001311
Figure BSA000003068981001312
以及到达率λ1=ρλ和λ2=(1-p)λ的两个类别近似。这使得能够专注于较简单的指数假设下的平均服务需求估计。因此,服务需求分析的兴趣点是能够在多类别设置中可靠地估计指数分布的服务需求。
现在参考图6A和图6B,和传统的基于CPU利用率的方法比较突出显示了基于响应时间的方法的准确性。图6A提供了分别使用本公开的基于响应时间的方法参数化的示范性M/M/1//N排队模型的估计和模型预测准确性结果。图6B提供了分别使用基于CPU利用率的方法参数化的示范性M/M/1//N排队模型的估计和模型预测准确性结果。图6B示出根据基于CPU利用率的方法参数化的模型提供了过分低估测量的底层ERP系统的响应时间(RMEAS)的响应时间估计(RCPU)。在这种情况下,RCPU值被基于利用等于的E[D]参数化的示范性排队模型确定,而
Figure BSA00000306898100142
是通过每一请求的总CPU消
Figure BSA00000306898100143
和从数据库提供数据的总时间
Figure BSA00000306898100144
之和对完成的请求数量的线性回归确定的。
图6B也示出根据基于CPU利用率的方法参数化的模型提供了过分高估测量的底层ERP系统的响应时间(RMEAS)的响应时间估计(RTWP)。在这种情况下,RTWP值被基于利用等于
Figure BSA00000306898100145
的E[D]参数化的示范性排队模型确定,通过花费在工作过程中的总时间对完成的请求数量的线性回归确定如图6A中所示,和图6中考虑的基于利用率的服务需求估计相比,本公开的基于响应时间的方法在产生高质量预测时更为有效。
也可以参考由排队系统仿真器使用例如60、600和3600秒的仿真周期产生的利用率和响应时间追踪来说明根据本公开的基于响应时间的服务需求估计的准确性。可以使用数值计算环境和编程语言(例如Mathworks,Inc.提供的MATLAB)来编写这种仿真器,并且其能够被编程为记录标准性能量度和在到达时请求所看到的队列长度。到达间隔时间和平均服务需求可以从指数分布产生,并且其均值被分配为匹配为了仿真而固定的利用率水平匹配。
仿真基于600秒的示范性周期上的系统利用率和响应时间量度,并且已经以低、中和高服务器利用率水平(例如ρ∈{0.1,0.5,0.9})以及请求类别K∈{1,2,5}运行了所述仿真。可以以每请求为基础收集响应时间量度,而利用率被每秒采样。这在现代系统中是典型的状况,现代系统很容易记录各个请求的响应时间,但是不能以微细粒度或者甚至是每请求的解析度探测利用率。针对传统的基于CPU利用率的方法(utilization-based,UR)、以及根据本公开的包括基于响应时间的回归(response-time based regression,RR)和最大似然(maximum likelihood,ML)的方法比较需求估计准确性。
对于每一仿真,和不同的类别K的数量和利用率ρ的选择对应,可以基于由
Δ = Σ k = 1 K 1 K | E [ D EST , k ] - E [ D EXACT , k ] E [ D EXACT , k ] | - - - ( 21 )
提供的误差函数评估估计准确性,所述误差函数是相对于在仿真中使用的精确值E[DEXACT,k]在所估计的服务需求E[DEST,k]的所有类别上的平均相对误差。对于每一仿真,利用范围在[0,1]中的均匀分布随机画出每一类别的E[DEXACT,k]值。
图7A到图7C包括示出通过在具有相同数量的类别K和服务器利用率ρ、利用随机服务需求的100个仿真上平均Δ所确定的平均值E[Δ]的图。图7A是与单个请求类别对应的图,示出了对于0.1、0.5和0.9的服务器利用率水平的平均相对误差值。图7B是与两个请求类别对应的图,示出了对于0.1、0.5和0.9的服务器利用率水平的平均相对误差值,并且图7C是与五个请求类别对应的图,也示出了对于0.1、0.5和0.9的服务器利用率水平的平均相对误差值。在图7A到图7C中,UR-1s表示在所有可获得采样上基于CPU利用率的回归的平均相对误差值,UR-50s表示将50个连续例子的量度平均的基于CPU利用率的回归的平均相对误差值,并且UR-30req表示使用在由30个连续采样形成的分区上的平均的基于CPU利用率的回归的平均相对误差值,其中,由30个连续采样形成分区,以使30个请求落入每一个分区内的。RR-1req表示使用所有可获得的采样的基于响应时间的回归的平均相对误差值,而RR-30req使用相同类别的30个请求的分区上的平均。ML表示使用所有可获得的采样的基于响应时间的最大似然的平均相对误差值。
图8A到图8C包括示出在100个ρ=0.5并且K=1、2、5的随机模型上Δ的累积分布函数(CDF)的示范图。为了容易绘图,并且因为未示出的曲线导致和图7A到图7C一致的定性结论,因此图8A到图8C只包括UR-30req、RR-30req和ML的CDF。
单类别场景是最简单的场景,因为只估计单个平均服务需求E[D]。大多数方法在这种情况下表现良好,对于不同的利用率水平表现出5%左右的误差(见图7A)。只有UR-1s给出低质量结果,特征是即使在中负荷(ρ=0.5)误差值也超过30%。对这种效应可以解释如下:采样周期中事件数量不足,使得线性回归公式无效,因为采样平均是在基数过小的值的子集(例如甚至只有1、2或3个请求)上计算的。因此,在UR-30req和UR-50s中使用的聚集(aggregation)对于去除UR-1s误差、将UR-30req的E[Δ]降低到5%以下具有可观地积极作用。此外,RR方法对于所有利用率水平都提供了高质量的结果。对于所有的利用率水平,ML也提供了类似的高质量结果。图7A的观察被误差分布所确认。更具体地,对于大多数方法,图8A提供了小概率的高误差,对于所有技术,近似有95个百分点的误差小于12%(95th-percentile of 12%)。因此,对于单类别情况,除了UR-1s以外的技术都提供了准确的结果。
当从单类别移动到多类别工作量时,误差如图7B中所示那样增长。当考虑两个请求类别时ML具有最小误差,并且在中负荷状况(ρ=0.5)时提供了少于8%的误差。和UR-1s相比ML性能的质量较为突出,UR-1s对于相同的利用率水平看到几乎35%的误差值。利用率采样的聚集被证明不像在单类别场景中那样有效,并且UR-30req以及UR-50s与UR-1req并无很大不同。RR-1req提供了比UR方法更好的结果。对于ρ=0.5,分布分析给出了类似的结果。例如,在图8B中,ML有95个百分点误差小于17%,而RR-30req和UR-30req分别有95个百分点误差小于54%和61%。
图7C示出了当移动到五类别场景时结果的质量显著变化的情况。更具体地,一般准确性降低(注意所有图的垂直比例不同),特别是在高负荷时。预期这是将要估计大量服务需求的结果。UR-1s、UR-30req和UR-50s具有一致地大误差,UR方法中最好的结果由UR-1s在ρ=0.5的情况下取得。UR的聚集再次不能带来准确性提高。在中利用率水平中RR-1req给出类似的结果,而RR-30req使误差值恶化。至少在低和中利用率水平给出高质量结果的唯一方法是ML(小于12%的误差)。对于所有的方法,中负荷情况似乎都很困难。在图8C中K=5场景的CDF强调了ML的质量,其实现了产生95%的情况下误差在21%以下。RR-30req有95个百分点误差在111%以下,而对于UR-30req为95个百分点误差在162%以下。对于UR-1s(未在图7C中示出)其为56%。因此,ML总体上更鲁棒。
在图7A到图7C以及图8A到图8C中提供的示范性结果指出,与不同利用率值下的600秒事件集合相对应的、在中型大小的数据集合内的多类别估计是有挑战性的问题。在几乎所有情况下ML都鲁棒地执行了这样的估计。ML结果在有限的信息(例如低利用率)下极好。在所有的实验中,RR-1req表现得比RR-30req更有效,并且RR-1req一般在低和中负荷是与UR方法相比有竞争力。
现在参考图9,流程图示出了可以根据本公开执行的示范性步骤。在步骤902中,产生工作量,工作量包括多个服务请求,所述多个服务请求包括可被计算机系统处理的多个类别。计算机系统可以包括执行应用的应用服务器,以及一个或多个产生请求的客户端系统。在步骤904中,工作量被施加于计算机系统,并且在步骤906中针对工作量的每一请求测量响应时间。在步骤908中,基于响应时间和基本排队模型针对每一类别估计平均服务需求。基本排队模型可以包括有关最终排队模型的特性的假设,所述特性包含调度和服务需求分布其中至少一个。
估计平均服务需求可以包括基于测量的响应时间、使用线性回归和最大似然法分析其中之一、在基本排队模型中估计平均服务需求。估计平均服务需求还可以基于多个到达队列长度,所述多个到达队列长度对应于工作量的每一请求。从报告请求的到达和离开的时间的日志文件可以确定所述多个到达队列长度中的每一到达队列长度。估计平均服务需求还可以基于多个剩余时间。所述多个剩余时间可以对应于工作量的每一请求。每一剩余时间可以对应于将要被处理的请求到达时为完成处理中的请求的处理所需的剩余时间。
在步骤910中,基于平均服务需求和工作量的特性产生排队模型。工作量的特性可以包括但不限于:到达队列中的请求的到达间隔时间分布,例如具有每秒5个请求的均值的指数到达间隔时间。产生排队模型可以包括使用平均服务需求参数化基本排队模型。在步骤912中,通过使用多个输入处理排队模型来评估计算机系统的性能。
现在参考图10,提供了可用来执行本公开的实施方案的示范性硬件组件1000的示意图。系统1000可用于执行结合这里所述的方法描述的操作。例如,系统1000可以被包括在应用服务器系统106中。系统1000包括处理器1010、存储器1020、存储设备1030和输入/输出设备1040。使用系统总线1050互连每一个组件1010、1020、1030和1040。处理器1010能够处理供在系统1000内执行的指令。在一个实施方案中,处理器1010是单线程处理器。在另一实施方案中,处理器1010是多线程处理器。处理器1010能够处理存储在存储器1020中或者存储设备1030上的指令,以便在输入/输出设备1040上显示用户接口的图形信息。
存储器1020存储系统1000内的信息。在一个实施方案中,存储器1020是计算机可读介质。在一个实施方案中,存储器1020是易失性存储单元。在另一实施方案中,存储器1020是非易失性存储单元。存储设备1030能够为系统1000提供海量存储。在一个实施方案中,存储设备1030是计算机可读介质。在各种不同的实施方案中,存储设备1030可以是软盘设备、硬盘设备、光盘设备,或者磁带设备。输入/输出设备1040为系统1000提供输入/输出操作。在一个实施方案中,输入/输出设备1040包括键盘和/或指示设备。在另一实施方案中,输入/输出设备1040包括用于显示图形用户接口的显示单元。
所描述的特征可以以数字电子电路实现,或者以计算机硬件、固件、软件或者其组合来实现。装置可以实现为计算机程序产品,该计算机程序产品有形地包含在信息载体中,所述信息载体例如机器可读存储设备,供可编程处理器执行;并且方法步骤可通过可编程处理器来执行,所述可编程处理器执行指令程序,以便通过操作输入数据并产生输出来执行所描述的实施方案的功能。所描述的特征可以有益地在一个或更多个计算机程序中实现,所述计算机程序可在可编程系统上执行,所述可编程系统包括:至少一个可编程处理器,耦合到数据存储系统以从其接收数据和指令并向其传送数据和指令;至少一个输入设备;以及至少一个输出设备。计算机程序是可在计算机中直接或者间接使用来执行特定活动或者带来特定结果的指令的集合。计算机程序可以用任何形式的编程语言编写,包括汇编语言和解释语言,并且其可以以任何形式部署,包括作为独立程序或者作为模块、组件、子例程,或者其他适于在计算环境中使用的单元。
举例来说,用于执行指令程序的适当处理器包括通用和专用微处理器,以及任何类型的计算机的唯一处理器或者多个处理器之一。一般地,处理器将从只读存储器或者随机访问存储器或者这两者接收指令和数据。计算机的必要部件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器。一般地,计算机也将包括用于存储数据文件的一个或多个海量存储设备或者可操作地耦合以与其通信;这样的海量存储设备包括:磁盘,例如内部硬盘和可移动磁盘;磁光盘;和光盘。适于有形地包含计算机程序指令和数据的存储设备包括所有形式的非易失存储器,包括例如半导体存储器器件,如EPROM、EEPROM和快闪存储器设备;磁盘,如内部硬盘和可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由ASIC(专用集成电路)补充,或者包含在ASIC中。
为了提供与用户的交互,可以在具有显示设备、键盘和指示设备的计算机上实现这些特征,所述显示设备诸如CRT(阴极射线管)或者LCD(液晶显示器)监视器,用于向用户显示信息;所述指示设备诸如鼠标或轨迹球,通过它们用户可以向计算机提供输入。
这些特征可以在计算机系统中实现,所述计算机系统包括后端组件,如数据服务器;或者包括例如应用服务器或者国际互联网服务器的中间件组件;或者包括例如具有图形用户接口或者国际互联网浏览器的客户端计算机的前端组件,或者包括它们的任意组合。系统的组件可以通过任何形式或介质的数字数据通信连接,例如通信网络。通信网络的例子包括例如LAN、WAN,以及形成国际互联网的计算机和网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般相互远离,并且通常通过网络交互,所述网络例如所描述的那些网络。凭借在相应计算机上运行并彼此具有客户端-服务器关系的计算机程序而产生客户端和服务器的关系。
此外,在附图中绘出的逻辑流不要求所示出的特定顺序或顺序的次序来实现期望的结果。此外,可以提供其他步骤,或者,可以从描述的流程中去掉步骤,并且可以向描述的系统添加其他组件,或者可以从描述的系统去除组件。因此,其他实施方案也在权利要求的范围内。
已经描述了本公开的许多实施方案。尽管如此,将会理解,可以做出各种修改不偏离本公开的精神和范围。因此,其他的实施方案也在权利要求的范围内。

Claims (20)

1.一种计算机实施的产生排队模型的方法,包含:
定义包含多个服务请求的工作量,每一服务请求对应于多个类别中的一个类别;
把工作量施加于接收和处理服务请求的计算机系统;
测量计算机系统针对工作量的每一个请求的响应时间;
基于响应时间和代表计算机系统的基本排队模型估计每一类别的平均服务需求;和
基于平均服务需求和工作量的特性产生排队模型。
2.如权利要求1所述的方法,还包含确定和工作量的每一请求对应的多个到达队列长度,其中,估计平均服务需求还基于所述多个到达队列长度。
3.如权利要求2所述的方法,其中,从报告请求的到达和离开的时间的日志文件确定所述多个到达队列长度中的每一到达队列长度。
4.如权利要求1所述的方法,还包含确定和工作量的每一请求对应的多个剩余时间,其中,估计平均服务需求还基于所述多个剩余时间。
5.如权利要求1所述的方法,其中,估计平均服务需求包含基于测量的响应时间,使用线性回归和最大似然法分析之一,在基本排队模型中估计平均服务需求。
6.如权利要求1所述的方法,其中,产生排队模型包含使用平均服务需求参数化基本排队模型。
7.如权利要求1所述的方法,还包含通过使用多个输入处理排队模型来评估计算机系统的性能。
8.一种耦合到一个或多个处理器并且其上存储有指令的计算机可读存储介质,所述指令在被所述一个或多个处理器执行时导致所述一个或多个处理器执行操作,所述操作包含:
定义包含多个服务请求的工作量,每一服务请求对应于多个类别中的一个类别;
把工作量施加于接收和处理服务请求的计算机系统;
测量计算机系统针对工作量的每一请求的响应时间;
基于响应时间和代表计算机系统的基本排队模型估计每一类别的平均服务需求;和
基于平均服务需求和工作量的特性产生排队模型。
9.如权利要求8所述的存储介质,其中,所述操作还包含确定和工作量的每一请求对应的多个到达队列长度,其中,估计平均服务需求还基于所述多个到达队列长度。
10.如权利要求9所述的存储介质,其中,从报告请求的到达和离开的时间的日志文件确定所述多个到达队列长度中的每一到达队列长度。
11.如权利要求8所述的存储介质,其中,所述操作还包含确定和工作量的每一请求对应的多个剩余时间,其中,估计平均服务需求还基于所述多个剩余时间。
12.如权利要求8所述的存储介质,其中,估计平均服务需求包括:基于测量的响应时间,使用线性回归和最大似然法分析之一,在基本排队模型中估计平均服务需求。
13.如权利要求8所述的存储介质,其中,产生排队模型包含使用平均服务需求参数化基本排队模型。
14.如权利要求8所述的存储介质,还包含通过使用多个输入处理排队模型来评估计算机系统的性能。
15.一种系统,包含:
接收和处理服务请求的计算机系统;
一个或多个处理器;和
耦合到一个或多个处理器并且其上存储有指令的计算机可读存储介质,所述指令在被所述一个或多个处理器执行时导致所述一个或多个处理器执行操作,所述操作包含:
定义包含多个服务请求的工作量,每一服务请求对应于多个类别中的一个类别;
把工作量施加于计算机系统;
测量计算机系统针对工作量的每一请求的响应时间;
基于响应时间和代表计算机系统的基本排队模型估计每一类别的平均服务需求;和
基于平均服务需求和工作量的特性产生排队模型。
16.如权利要求15所述的系统,其中,所述操作还包含确定和工作量的每一请求对应的多个到达队列长度,其中,估计平均服务需求还基于所述多个到达队列长度。
17.如权利要求16所述的系统,其中,从报告请求的到达和离开的时间的日志文件确定所述多个到达队列长度中的每一到达队列长度。
18.如权利要求15所述的系统,其中,所述操作还包含确定和工作量的每一请求对应的多个剩余时间,其中,估计平均服务需求还基于所述多个剩余时间。
19.如权利要求15所述的系统,其中,估计平均服务需求包括:基于测量的响应时间,使用线性回归和最大似然法分析之一,在基本排队模型中估计平均服务需求。
20.如权利要求15所述的系统,其中,所述计算机系统包含执行应用的应用服务器,以及产生请求的一个或多个客户端系统。
CN201010509831.3A 2009-10-16 2010-10-18 基于响应时间估计服务资源消耗 Active CN102043674B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/580,901 2009-10-16
US12/580,901 US9804943B2 (en) 2009-10-16 2009-10-16 Estimating service resource consumption based on response time

Publications (2)

Publication Number Publication Date
CN102043674A true CN102043674A (zh) 2011-05-04
CN102043674B CN102043674B (zh) 2016-02-03

Family

ID=43384419

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010509831.3A Active CN102043674B (zh) 2009-10-16 2010-10-18 基于响应时间估计服务资源消耗

Country Status (4)

Country Link
US (1) US9804943B2 (zh)
EP (1) EP2312445A1 (zh)
JP (1) JP5313990B2 (zh)
CN (1) CN102043674B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102253883A (zh) * 2011-07-29 2011-11-23 国网信息通信有限公司 一种服务器性能评价的方法和系统
CN103903070A (zh) * 2014-04-15 2014-07-02 广东电网公司信息中心 应用系统资源需求测算系统
CN106407007A (zh) * 2016-08-31 2017-02-15 上海交通大学 面向弹性分析流程的云资源配置优化方法
CN106649471A (zh) * 2016-09-28 2017-05-10 新华三技术有限公司 一种访问控制方法及装置

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG181616A1 (en) * 2009-12-10 2012-07-30 Royal Bank Of Canada Synchronized processing of data by networked computing resources
US9940670B2 (en) 2009-12-10 2018-04-10 Royal Bank Of Canada Synchronized processing of data by networked computing resources
US8812674B2 (en) * 2010-03-03 2014-08-19 Microsoft Corporation Controlling state transitions in a system
WO2012041397A1 (en) * 2010-09-27 2012-04-05 Telefonaktiebolaget Lm Ericsson (Publ) Performance calculation, admission control, and supervisory control for a load dependent data processing system
US20130326249A1 (en) * 2011-06-09 2013-12-05 Guillermo Navarro Regulating power consumption of a mass storage system
US8578023B2 (en) 2011-07-29 2013-11-05 Hewlett-Packard Development Company, L.P. Computer resource utilization modeling for multiple workloads
US9111022B2 (en) * 2012-06-22 2015-08-18 Sap Se Simulation techniques for predicting in-memory database systems performance
US8984125B2 (en) * 2012-08-16 2015-03-17 Fujitsu Limited Computer program, method, and information processing apparatus for analyzing performance of computer system
US9660891B2 (en) * 2013-01-17 2017-05-23 TravelClick, Inc. Methods and systems for computer monitoring
JP6063801B2 (ja) * 2013-04-09 2017-01-18 日本電信電話株式会社 品質評価装置、品質評価方法及びプログラム
CN104283934B (zh) * 2013-07-12 2018-05-22 中国移动通信集团重庆有限公司 一种基于可靠性预测的web服务推送方法、装置及服务器
US9699032B2 (en) * 2013-10-29 2017-07-04 Virtual Instruments Corporation Storage area network queue depth profiler
US9858363B2 (en) * 2014-04-07 2018-01-02 Vmware, Inc. Estimating think times using a measured response time
CN105446896B (zh) * 2014-08-29 2018-05-04 国际商业机器公司 映射化简应用的缓存管理方法和装置
US9984044B2 (en) 2014-11-16 2018-05-29 International Business Machines Corporation Predicting performance regression of a computer system with a complex queuing network model
US10044786B2 (en) * 2014-11-16 2018-08-07 International Business Machines Corporation Predicting performance by analytically solving a queueing network model
KR20160070636A (ko) * 2014-12-10 2016-06-20 경희대학교 산학협력단 분산 클라우드 환경에서의 마이그레이션 제어 장치 및 이를 이용한 마이그레이션 제어 방법
US9544403B2 (en) * 2015-02-02 2017-01-10 Linkedin Corporation Estimating latency of an application
US9774654B2 (en) 2015-02-02 2017-09-26 Linkedin Corporation Service call graphs for website performance
US11010833B2 (en) 2015-10-09 2021-05-18 Chicago Mercantile Exchange Inc. Systems and methods for calculating a latency of a transaction processing system
US10733526B2 (en) * 2015-12-09 2020-08-04 International Business Machines Corporation Estimation of latent waiting and service times from incomplete event logs
US10423500B2 (en) * 2016-06-01 2019-09-24 Seagate Technology Llc Technologies for limiting performance variation in a storage device
JP2018022305A (ja) * 2016-08-03 2018-02-08 富士通株式会社 境界値特定プログラム、境界値特定方法および境界値特定装置
US10338967B2 (en) * 2016-09-20 2019-07-02 Tata Consultancy Services Limited Systems and methods for predicting performance of applications on an internet of things (IoT) platform
CN109902262B (zh) * 2019-03-19 2022-06-21 福建工程学院 一种具两异质服务类型排队线的稳态机率矩阵计算方法
WO2020243652A1 (en) * 2019-05-31 2020-12-03 Nike Innovate C.V. Multi-channel communication platform with dynamic response goals
US11711274B2 (en) 2020-02-11 2023-07-25 International Business Machines Corporation Request response based on a performance value of a server
CN112084018B (zh) * 2020-08-11 2022-06-24 河海大学 快速评估边缘计算网络中非均匀访问用户平均时延的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1610311A (zh) * 2003-10-20 2005-04-27 国际商业机器公司 通过把推理用于it系统进行自动建模的方法和设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4322094B2 (ja) 2003-11-11 2009-08-26 富士通株式会社 情報処理方法、サービス時間導出方法、及び処理ユニット数調整方法
US7739099B2 (en) 2005-12-22 2010-06-15 International Business Machines Corporation Method and system for on-line performance modeling using inference for real production IT systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1610311A (zh) * 2003-10-20 2005-04-27 国际商业机器公司 通过把推理用于it系统进行自动建模的方法和设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
M. CALZAROSSA等: "A Workload Model Representative of Static and Dynamic Characteristics", 《ACTA INFORMATICA》, vol. 23, no. 3, 31 December 1986 (1986-12-31), pages 255 - 266 *
ZHEN LIU ETC: "Parameter inference of queueing models for IT Systems using end-to-end measurements", 《PERFORMANCE EVALUATION》, 1 January 2006 (2006-01-01), pages 36 - 60 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102253883A (zh) * 2011-07-29 2011-11-23 国网信息通信有限公司 一种服务器性能评价的方法和系统
CN103903070A (zh) * 2014-04-15 2014-07-02 广东电网公司信息中心 应用系统资源需求测算系统
CN103903070B (zh) * 2014-04-15 2017-03-15 广东电网有限责任公司信息中心 应用系统资源需求测算系统
CN106407007A (zh) * 2016-08-31 2017-02-15 上海交通大学 面向弹性分析流程的云资源配置优化方法
CN106407007B (zh) * 2016-08-31 2020-06-12 上海交通大学 面向弹性分析流程的云资源配置优化方法
CN106649471A (zh) * 2016-09-28 2017-05-10 新华三技术有限公司 一种访问控制方法及装置

Also Published As

Publication number Publication date
US9804943B2 (en) 2017-10-31
CN102043674B (zh) 2016-02-03
US20110093253A1 (en) 2011-04-21
EP2312445A1 (en) 2011-04-20
JP2011086295A (ja) 2011-04-28
JP5313990B2 (ja) 2013-10-09

Similar Documents

Publication Publication Date Title
CN102043674B (zh) 基于响应时间估计服务资源消耗
Huang et al. Resource prediction based on double exponential smoothing in cloud computing
US10325008B2 (en) Techniques for estimating compound probability distribution by simulating large empirical samples with scalable parallel and distributed processing
US8560618B2 (en) Characterizing web workloads for quality of service prediction
CN107851106A (zh) 用于关系数据库即服务的自动需求驱动的资源缩放
CN109598368B (zh) 路径决策评估、订单分配方法及装置、电子设备及介质
US20130132009A1 (en) Systems and methods for apportioning power consumption
You et al. Comprehensive workload analysis and modeling of a petascale supercomputer
CN110209467A (zh) 一种基于机器学习的弹性资源扩展方法和系统
CN104035926A (zh) 一种互联网信息的投放和系统
CN108874535A (zh) 一种任务调节方法、计算机可读存储介质及终端设备
CN110333991B (zh) 云平台任务最大资源使用率预测方法
CN115269108A (zh) 一种数据处理方法、装置及设备
Ajila et al. Using machine learning algorithms for cloud client prediction models in a web vm resource provisioning environment
Xu et al. Predicting advertiser bidding behaviors in sponsored search by rationality modeling
CN110675069B (zh) 地产行业客户签约风险预警方法、服务器及存储介质
Gupta et al. Long range dependence in cloud servers: a statistical analysis based on google workload trace
CN111565216A (zh) 一种后端负载均衡方法、装置、系统及存储介质
Haak et al. Autonomic benchmarking for cloud infrastructures: an economic optimization model
Enganti et al. ForkMV: Mean-and-variance estimation of fork-join queuing networks for datacenter applications
US20140196035A1 (en) Management system, recording medium and method for managing virtual machines
Mays et al. Decentralized data allocation via local benchmarking for parallelized mobile edge learning
Yang et al. Portfolio-Based Incentive Mechanism Design for Cross-Device Federated Learning
Kannan Enabling fairness in cloud computing infrastructures
Singh et al. Formal specification language based IaaS cloud workload regression analysis

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: German Waldo

Applicant after: SAP AG

Address before: German Waldo

Applicant before: SAP AG

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SAP AG TO: SAP EUROPE AG

C14 Grant of patent or utility model
GR01 Patent grant