应用的性能分析的制作方法

文档序号:6480034阅读:173来源:国知局
专利名称:应用的性能分析的制作方法
应用的性能分析相关申请的交叉引用
本申请涉及由Mehmet K. Ozonat在2008年10月1日提交的题为“Segment-Based Technique and System for Detecting Performance Anomalies and Changes for a Computer-Based Service”的共同待决美国专利申请No. 12/243262 (HP公开号 200800555),其被通过引用整体地结合到本文中。
背景技术
大规模分布式网络服务的性能量度行为方面的异常可以是可能导致网络服务提供商的收入损失和服务用户的降低的满意度的服务问题症状。性能量度行为方面的异常的准确检测能够影响正确的诊断、恢复和使服务问题的影响最小化。可以使用在线检测(例如,采取作为量度测量的异常的实时检测)和离线检测(例如指示过去行为的变化或重发问题的存储测量结果中的异常的检测)二者来发现和解决服务问题。可以通过信息技术(IT)管理工具以规则间隔的时间间隔对诸如响应时间或吞吐量的性能量度进行采样。某些IT管理工具通过为各种性能量度设置阈值来检测性能异常, 例如,当性能量度超过或低于指定阈值时检测到异常。在某些情况下,可以在性能量度或者超过上阈值或者低于下阈值时生成警报。采用基于阈值的异常检测技术的性能管理工具可能导致假警报。在某些情况下, 性能量度可能在不存在任何主要服务问题的情况下超过其阈值。例如,即使在不存在任何服务问题的情况下,预期具有被设置在其历史值的第99百分位的阈值的量度大约在每100 个时间样本中超过阈值一次,产生假警报。然而,基于阈值的方法不可能提供所检测的的全局观点,诸如性能异常是孤立事件还是较大模式的结果。


现在将参考以下附图来描述本发明的实施例。图中的组件不一定按比例描绘,而是将重点放在清楚地示出本发明的原理上。此外,在图中,同样的附图标记遍及多个视图指定相应的部分。图1是依照本公开的一个实施例的分析系统的图示;
图2是示出依照本公开的一个实施例的、在图1的分析系统中实现的分析方法的示例性实施例的流程图;以及
图3是示出依照本公开的一个实施例的、在图1的分析系统中实现的主动异常确定方法的示例性实施例的流程图。
具体实施例方式简而言之,一个实施例尤其包括一种用于分析应用的性能的方法。所述方法包括随着时间的推移从应用收集性能量度数据;将性能量度数据分割成表示表现出相似的性能量度行为的相邻时间样本的组的时间段;确定时间段中的异常的存在;以及使异常段与可
3用于系统的其它数据相关联以确定异常的原因。另一实施例尤其包括计算机可读存储介质,该计算机可读存储介质包括用于分析应用的性能的程序。所述程序在被计算机处理器执行时促使处理器执行下述步骤从应用收集性能量度数据;将性能量度数据分割成时间段;确定时间段中的异常的存在;以及使性能量度数据相关联以确定异常的原因。另一实施例尤其包括用于分析应用的性能的系统。所述系统包括分析模块,其被配置为从应用收集性能量度数据,该分析模块还被配置为识别所收集的性能量度数据的多个时间段中的一个或多个时间段中的异常;分段引擎,其被配置为将所收集的性能量度数据分割成时间段;以及相关引擎,其被配置为确定所识别的异常的原因。在研究以下附图和详细说明之后,本公开的其它系统、方法、特征和优点将是或变得对于本领域的技术人员来说显而易见。意图在于所有此类附加的系统、方法、特征和优点被包括在本说明内,在本发明的范围内,并且受到所附权利要求的保护。基于阈值的方法不可能提供所检测的异常的全局观点。当检测到性能异常时,管理员可能需要知道异常是否是在时间上孤立的,其是否是较大异常时间段的一部分,或者在整个异常时间段(例如具有比正常的响应时间高的时段)的过程中性能量度如何改变。此外,在具有多个量度的系统中,在两个相关联软件应用的诸如例如响应时间的性能量度的子集之间可能存在强依赖性。因此,异常判定(例如,异常(诸如,例如超过阈值的响应时间) 的识别)可以基于联合子集中的量度数据而不是单独地,要求基于各种量度的规则的设置。 即使在仅几个量度的情况下,对给出准确的异常判定的规则进行公式化对于管理员来说也可能是挑战性的任务。另外,性能量度可能表现出多模式行为,例如,多个正常性能行为。如果多模式行为是由于例如每天或每周的周期性效应而引起的,则可以基于天或周的时间来设置用于性能量度的不同阈值。然而,多模式行为还可能是由于诸如服务维护之类的非周期性效应而引起的。因此,在跨越多个数据中心和地区分布的大规模服务中,可能每周存在几百个至几千个非周期性效应。本公开的实施例可以连续地监视应用,从该应用收集性能量度数据(在本文中也称为“量度”),并且分析该量度数据以确定应用的行为。该应用可以是业务的IT基础结构的任何部分,包括软件或硬件。可以被收集的性能量度的某些示例可以包括但不限于应用的响应时间、每单位时间的不可用性的数目(不可用性可以包括例如错误、超时、或应用不能处理用户的请求的任何时间)、吞吐量、每秒命中(hits)或日志文件的尺寸。可以收集并分析描述应用的行为的任何量度。通过分析,即使没有阈值被越过,也可以在应用的行为中主动地检测异常。还可以将所检测的异常隔离以查明异常的根本原因以便避免该异常逐步升级并影响业务。可以与用于管理业务服务和应用的可用性和性能的惠普的业务可用性中心(BAC)软件相结合地使用主动分析系统的实施例,虽然不限于此类环境和/或平台。图1示出包括分析模块110的分析系统100的实施例。分析模块110监视并从应用160收集量度数据。应用160可以是例如在管理员希望监视的业务中使用的任何IT组件。应用160的实施例可以包括软件和硬件组件两者,或者可以仅包括软件。应用160是 IT基础结构150的一部分,并且得到支持组件170的支持。支持组件170可以是与应用160 相交互的IT基础结构150的任何部分。虽然示出了用于图1的支持组件170的单个方框,但是这仅仅是出于说明的目的。支持组件170可以包括任何数目的软件和硬件组件。另外,包括应用160和支持组件170的IT基础结构150可以包括在例如业务中使用的任何计算机软件和硬件。数据库140包括关于构成IT基础结构150的元件之间的关系的信息,包括应用160与支持组件170之间的关系。分析模块110与分段引擎120和相关引擎130通信。分段引擎120使用例如信息理论和统计学习技术来将量度数据分割成表现出相似的性能量度行为的相邻时间样本的组。相关引擎130使所述段与系统中可用的其它基于时间的数据相关联,以查明异常的根本原因。在这样做时,分析模块110可以查询数据库140。下面针对图2和图3来更详细地讨论分析系统100的各种元件的功能和交互作用。参考图2,示出了分析方法200的示例性实施例,从分析模块110在方框210中从应用160收集性能量度开始。然后,在方框220中,分段引擎120使用例如统计学习算法将从应用160收集的性能量度数据分割成时间段。每个段可以涉及在从应用160采集的性能量度中看到的一段时间的不同行为。可以通过监视用户与应用的交互来被动地收集量度数据,或者可以由充当用户的代理来收集量度数据。在某些非限制性实施例中,可以使用参数的、高斯混合分布对所述段进行建模,其中,所述混合的每个组成部分表示一段。可以通过使量度的真实、未知分布与高斯混合模型之间的统计距离最小化来发现各段的位置(即,段开始或结束时的时间样本)和段特性(即, 段的统计特征,诸如但不限于均值向量和协方差矩阵)。所述距离在信息理论中也称为失配。可以离线地(例如根据历史数据)或在线地(例如根据最近测量的量度)来发现段。在某些实施例中,可以使用预定阈值来确定发现段的时间。在由Mehmet K. Ozonat在2008年 10月1日提交的共同待决美国专利申请No. 12/243262 (HP公开号200800555)中描述了上述类型的适当无阈值分段系统的实施例的进一步的细节,所述美国专利申请通过引用被整体地结合到本文中,虽然可以使用其它分段算法。在方框230中,分析模块110确定特定时间段是否表现出异常160 ;下面关于图3 来讨论异常确定方法的实施例的细节。异常行为可以如何表现或出现的示例包括但不限于用于一个或多个量度的静态或动态阈值被越过;诸如错误或超时之类的可用性问题; 或相对于先前时间段而言,正在分析的段中的响应时间的增加。一旦在框230中识别到异常段,则在方框240中,对数据库140查询关于应用160 的支持组件170。数据库140存储IT基础结构150的状态,包括构成IT基础结构150的各种组件之间的关系。数据库140可以是例如配置管理数据库(CMDB)。CMDB存储包括应用和业务服务的IT基础结构150的各部分之间的关系,以及可能已经对IT基础结构150进行的任何改变。在某些实施方式中,CMDB可以包括富含数据模型,该模型包括诸如但不限于服务器、网络、存储器和软件的物理元件,以及诸如但不限于业务服务、虚拟专用网络、终端用户和服务水平协议的逻辑元件二者。在某些实施例中,可以通过随属关系映射软件来填充和维护数据模型。然后,在方框250中,相关引擎130使支持组件170的量度与应用160的性能量度相关联,以滤出症状并查明异常的根本原因。在一个实施例中,将支持组件170的量度数据存储在数据库140中。在其它实施例中,可以将量度数据存储在单独的数据库中 (图1中未示出)。在某些实施例中,可以利用标识符(ID)来将分析模块110的监视链接到数据库。如果在异常时段期间,在特定支持组件与应用160的量度之间存在强相关,则该特定支持组件可能是异常的原因。相关引擎130可以利用统计归纳技术和概率模型作为复杂 IT系统的自动化决策、管理和控制的基础;然而,可以使用量度相关的任何适当方法。可以在Cohen等人的美国专利公开No. 2007/0083513 ;Cohen等人的美国专利No. 7,194,935 ; 以及Goldszmidt等人的美国专利公开No. 2006/0188011中找到量度相关系统的示例。在一个实施例中,尤其是,根据所收集的量度数据来创建签名。例如,可以将所测量的量度的原始值组合以形成签名。可以为每个时间间隔提供签名。签名和与所识别的问题相关联的相应的注解被存储在数据库中。可以使用集群算法将后续签名与所存储的签名相比较。可以根据相似签名的注解来确定潜在的问题。在另一实施例中,将所测量的量度数据放置在(多个)向量中。然后可以使(多个) 向量同步并由具有服务水平目标(SLO)的关系来表征所述(多个)向量。可以使用已识别的关键量度来生成指示SLO状态的模型。将后续测量的量度与所生成的模型相比较,以确定哪个SLO状态最接近地拟合。在方框260中,由分析模块110来执行共性分析,以使用过去的异常作为知识库来使所识别的异常与过去的异常相关联,以识别所识别的异常的原因。在一个实施例中,尤其是,可以将过去的异常(或异常段)存储在单独的数据库中。所识别的异常段与过去的异常段之间的相似性可以指示所识别的异常的原因与过去的异常相同。某些异常在时间上可以是周期性或重复发生的,具有相似的签名,共享相似的应用错误,或者从相同的位置发生; 相似的异常可以具有相同的根本原因。在方框270中,分析模块110识别问题模式,诸如可缩放性或负载平衡问题模式,并基于所识别的模式将异常分类到异常类别中。在一个实施例中,分析模块110包括反馈阶段,其了解组织的问题,使该问题与问题模式相关联,并使用所识别的模式来识别将来的问题并将其分类。在某些实施例中,模式可以是一般的,并且与所有组织有关,例如,其中并发用户的数目可能影响应用性能的可缩放性问题。在其它实施例中,使用学习来识别组织所特有的问题。例如,学习可以使一般解决方案适应于组织的特定问题。异常可以用信号通知到更大异常的累计时段,可以通过与过去的异常模式的比较来对其进行辨识。在方框280中,分析模块110预计(project)在方框270中识别的模式中的趋势,并分析随着时间的推移的该趋势以识别可能的将来的问题。图3是示出在分析系统100中实现的主动异常段确定方法300的示例性实施例的流程图。方法300通过将应用160的基线状态与在正在分析的时间段期间收集的量度相比较来在方框310中开始。可以根据由应用和系统监视器报告的测量结果来连续地计算该基线。在某些实施例中,可以在正常行为的确定中考虑异常值、停机时间和问题。在其它实施例中,可以利用滑动窗口来考虑随时间推移的IT中的变化。可以将基线存储在数据库140 中或另一单独的数据库中。还可以将基线保存在档案中以提供随时间推移的基线历史或当其变得无关时将其删除。可以使用数学算法来确定在所述段中是否存在违犯(violation), 违犯发生多少次,和违犯的严重性。在某些实施例中,基于所计算的标准偏差来确定违犯。 例如,如果测量结果超过与正常行为(或基线)的标准偏差的预定倍数,则视为已经发生了违犯。在一个实施例中,尤其是,将为3的标准偏差视为用于学习(基线)行为的阈值。在方框320中,将正在分析的段与先前的段相比较,以查看是否已发生性能的劣化。在此步骤中注意诸如使量度值爬升或下降之类的趋势,因为其会预示异常的开始。在方框330中,查询数据库140以确定在正在分析的时间段期间是否对应用160或其支持组件170进行了改变。然后使所进行的任何改变与在数据库140中列出的改变请求(RFC)相关联,以确定该改变是根据计划的还是无计划的。RFC是针对对IT基础结构150的未来计划的改变的请求;如果改变不具有相应的RFC,则该改变是无计划的。对IT基础结构150的改变可能引起性能量度中的异常行为。在方框340中,对数据库140进行进一步查询以确定在正在分析的段中在应用或其基础结构上是否发生事件;可以考虑该事件的严重性。事件包括作为来自用户的抱怨的结果的输入(或标签(ticket)),或者作为针对监视器定义的规则的结果的自动打开。最后,在方框350中,分析模块110基于在方框310 340中收集的信息来确定正在分析的段是否包含异常。分析系统的实施例可以通过分析并预计性能行为来在异常变成问题并影响业务之前识别该异常。从数据库检索关于IT基础结构的各部分的信息消除了对于支持IT基础结构的不同部分的不同团队之间的协作的需求。可以通过使用量度相关性和共性分析来使根本原因分析自动化。可以使用问题模式来将异常分成多个类别,允许基于其分类来识别异常的根本原因。已经出于图示和说明的目的提出了本公开的实施例的前述公开。其并不旨在是穷举的或使本公开局限于所公开的精确形式。根据上述公开,本文所述的实施例的许多变更和修改对于本领域的普通技术人员来说将是显然的。请注意,上述示例并不意图是限制性的。还可以预期可以包括许多上述特征的系统和方法的附加实施例。在研究以下附图和详细说明之后,本公开的其它系统、方法、特征和优点将是或变得对于本领域的技术人员来说显而易见。意图在于所有此类附加系统、方法、特征和优点被包括在本说明内并在本公开的范围内。可以以硬件、软件、固件或其组合来实现本公开的实施例。在(一个或多个)各种实施例中,以存储在存储器中并由适当的指令执行系统执行的软件或固件来实现系统组件。如果以硬件实现,如在某些实施例中,则可以用在本领域中全部众所周知的任何以下技术或其组合来实现系统组件具有用于对数据信号实现逻辑功能的逻辑门的(一个或多个) 离散逻辑电路、具有适当组合逻辑门的专用集成电路(ASIC)、(一个或多个)可编程门阵列 (PGA)、现场可编程门阵列(FPGA)等。软件组件可以包括用于实现逻辑功能的可执行指令的有序列表,可以体现在任何计算机可读介质中以供指令执行系统、装置或设备使用或与之相结合地使用,所述指令执行系统、装置或设备诸如为基于计算机的系统、包含处理器的系统、或能够从指令执行系统、装置或设备获取指令并执行该指令的其它系统。另外,本公开的范围包括在在硬件或软件构造的介质中体现的逻辑中体现一个或多个实施例的功能。除非以其他方式特别说明或在所使用的上下文内以其他方式理解,否则诸如尤其是“能够”、“可”、“可能”或“可以”之类的条件语言一般旨在传达的是某些实施例可以包括但不要求某些特征、元件和/或步骤。因此,此类条件语言通常并不旨在暗示以任何方式对一个或多个实施例要求特征、元件和/或步骤,或者一个或多个实施例必须包括用于在有或没有用户输入或提示的情况下判定在任何特定实施例中是否包括或将执行这些特征、元件和/或步骤的逻辑。应将流程图中的任何处理说明或方框理解为表示包括用于实现该处理中的特定逻辑功能或步骤的一个或多个可执行指令的代码部分、或段、模块,并且替换实施方式被包括在本公开的优选实施例的范围内,其中,可以不按所示或所讨论的顺序来执行功能,包括基本上同时地或按照相反顺序,其取决于所涉及的功能,如本公开的领域中的理性技术人员将理解的那样。
权利要求
1.一种用于分析应用的性能的方法,包括 随着时间的推移从所述应用收集性能量度数据;将所述性能量度数据分割成表示表现出相似的性能量度行为的相邻时间样本的组的时间段;确定时间段中的异常的存在;以及使异常段与可用于系统的其它数据相关联以确定异常的原因。
2.权利要求1的方法,其中,所述性能量度数据包括响应时间、每单位时间的不可用性的数目、吞吐量和每秒命中中的至少一个。
3.权利要求1的方法,其中,确定异常的存在包括将所述应用的基线状态与来自时间段的性能量度数据相比较,以确定在所述时间段中的异常的存在。
4.权利要求1的方法,其中,确定异常的存在包括将来自时间段的性能量度数据与来自过去的时间段的性能量度数据相比较,以确定在所述时间段中的异常的存在。
5.权利要求1的方法,还包括对数据库查询关于在时间段期间发生的对所述应用的改变或对所述应用的支持组件的改变。
6.权利要求1的方法,还包括查询数据库,以在检测到来自时间段的性能量度数据中的异常时识别所述应用的支持组件。
7.权利要求6的方法,其中,可用于系统以便相关的所述其它数据包括来自所述时间段的支持组件的一组性能量度数据。
8.权利要求1的方法,还包括执行所检测到的异常段与过去的异常段之间的共性分析。
9.权利要求1的方法,还包括识别所收集的性能量度数据中的模式,并基于所识别的模式将所述异常分类到类别中。
10.权利要求9的方法,还包括预计所识别的模式中的趋势以识别将来的异常。
11.一种计算机可读存储介质,其包括用于分析应用的性能的程序,该程序在被计算机处理器执行时促使处理器执行下述步骤从所述应用收集性能量度数据; 将所述性能量度数据分割成时间段; 确定时间段中的异常的存在;以及使性能量度数据相关联以确定异常的原因。
12.一种用于分析应用的性能的系统,包括分析模块,其被配置为从所述应用收集性能量度数据,所述分析模块还被配置为识别所收集的性能量度数据的多个时间段中的一个或多个时间段中的异常; 分段引擎,其被配置为将所收集的性能量度数据分割成时间段;以及相关引擎,其被配置为确定所识别的异常的原因。
全文摘要
提供了用于分析应用的性能的方法和系统的实施例。在该方面,用于分析性能的方法的实施例尤其包括随着时间的推移从所述应用收集性能量度数据;将所述性能量度数据分割成表示表现出相似的性能量度行为的相邻时间样本的组的时间段;确定时间段中的异常的存在;以及使异常段与可用于系统的其它数据相关联以确定异常的原因。
文档编号G06F15/00GK102257520SQ200880132377
公开日2011年11月23日 申请日期2008年10月16日 优先权日2008年10月16日
发明者卡哈娜 C., 加维什 I., 莫谢 R. 申请人:惠普开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1