一种APM探针采样率确定方法、计算机设备及存储介质与流程

文档序号:23894059发布日期:2021-02-09 13:25阅读:103来源:国知局
一种APM探针采样率确定方法、计算机设备及存储介质与流程
一种apm探针采样率确定方法、计算机设备及存储介质
技术领域
[0001]
本申请涉及应用性能管理(application performance management,简称为apm)技术领域,尤其涉及一种apm探针采样率确定方法、计算机设备及存储介质。


背景技术:

[0002]
应用性能是反映应用面向用户提供服务质量的关键指标,应用性能的风险可能直接导致用户体验下降,甚至服务中断。应用性能管理(apm)作为一个比较新的网络管理方向,主要指对企业的关键业务应用进行监测、优化,提高企业应用的可靠性和质量,保证用户得到良好的服务,降低it总拥有成本(total cost of ownership,简称为tco)。
[0003]
近年来,新技术、新需求的涌现促使企业拥有的应用数量和应用复杂度快速膨胀,使得企业应用运维不堪重负。由于应用性能问题导致企业客户流失和经济损失的案例也逐渐增加,传统的应用性能管理的单应用节点监控、分析机制已难以应对。现有应用性能管理中的应用性能监控系统主要包括单应用节点监控与分布式应用监控。
[0004]
apm探针采用非侵入式的方式监控应用性能数据和业务数据,但是同样也会带来一定的性能消耗,并由此导致应用性能受损,降低应用的使用体验。


技术实现要素:

[0005]
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种apm探针采样率确定方法、计算机设备及存储介质。
[0006]
第一方面,本申请提供了一种apm探针采样率确定方法,包括:根据被监控应用当前的资源情况确定当前的资源状态,其中,资源状态与资源充足程度相关;按照预设状态机,根据当前的资源状态、上一资源状态和当前的采样状态确定新的采样状态,其中,预设状态机的采样状态包括:全量采样状态、禁用采样状态,以及介于全量采样状态与禁用采样状态之间的多个中间采样状态;在新的采样状态为多个中间采样状态之一时,根据新的采样状态对应的采样率调整策略确定新的采样率,其中,每个中间采样状态具有对应的采样率调整策略,采样率调整策略被设置为调整当前的采样率得到新的采样率。
[0007]
在某些实施例中,上述多个采样调整策略被设置为按照多种程度调整当前的采样率得到新的采样率,该调整为提高或降低采样率。
[0008]
在某些实施例中,上述预设状态机被配置为,使得当前的资源状态相对于上一资源状态变化程度越高,进入的新的采样率状态对应的采样率的调整程度越高。
[0009]
在某些实施例中,上述多个中间采样状态包括:快速降低状态、快速增长状态、慢速增长状态和慢速降低状态;其中,快速降低状态和慢速降低状态对应的采样率调整策略,被配置为降低当前的采样率得到新的采样率,且快速降低状态对应的降低程度大于慢速降低状态对应的降低程度;快速增长状态和慢速增长状态对应的采样率调整策略,被配置为提高当前的采样率得到新的采样率,且快速增长状态对应的提高程度大于慢速增长状态对应的提高程度。
[0010]
在某些实施例中,上述资源状态包括:资源充足、资源匮乏,以及介于资源充足与资源匮乏之间的一个或多个中间资源状态,其中,上述预设状态机被配置为,在资源匮乏时进入禁用采样状态。
[0011]
在某些实施例中,资源状态包括:资源充足、资源匮乏,以及介于资源充足与资源匮乏之间的一个或多个中间资源状态;apm探针采样率确定方法还包括:将使得资源状态从非资源匮乏进入资源匮乏的采样率设置为资源匮乏采样阈值;其中,快速增长状态对应的采样率调整策略包括:按照第一规则确定得出新的采样率,如果新的采样率大于资源匮乏采样阈值,将资源匮乏采样阈值作为新的采样率。
[0012]
在某些实施例中,上述资源情况包括cpu使用率、内存使用率、cpu负载率中至少之一或任意组合。
[0013]
在某些实施例中,在创建探针事务时,如果新的采样率介于禁止采样状态和全量采样状态的采样率之间,生成随机数,其中,随机数介于禁止采样状态和全量采样状态的采样率之间;比较随机数与新的采样率之间的大小;如果所述随机数大于新的采样率,不创建探针事务;如果随机数小于新的采样率,创建探针事务。
[0014]
第二方面,本申请提供了一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序;计算机程序被处理器执行时实现上述任意apm探针采样率确定方法的步骤。
[0015]
第三方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质上存储有apm探针采样率确定程序,apm探针采样率确定程序被处理器执行时实现apm探针采样率确定方法的步骤。
[0016]
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方法,实现了动态调整apm探针采样率,降低了apm探针采样对应用性能的影响,同时能够在应用的多种资源情况下进行采样。
附图说明
[0017]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0018]
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0019]
图1为本申请实施例提供的apm探针采样率确定方法一种实施方式的流程图;
[0020]
图2为本申请实施例提供的探针事务采样率更新过程一种实施方式的示意图;
[0021]
图3为本申请实施例一种实施方式的采样率变化的示意图;以及
[0022]
图4为本申请实施例提供的计算机设备一种实施方式的硬件示意图。
具体实施方式
[0023]
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0024]
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合
地使用。
[0025]
图1为本申请实施例提供的apm探针采样率确定方法一种实施方式的流程图,如图1所示,该方法包括步骤s102至步骤s106。
[0026]
步骤s102,根据被监控应用当前的资源情况确定当前的资源状态,其中,资源状态与资源充足程度相关。
[0027]
步骤s104,按照预设状态机,根据当前的资源状态、上一资源状态和当前的采样状态确定新的采样状态,其中,该预设状态机的采样状态包括:全量采样状态、禁用采样状态,以及介于全量采样状态与禁用采样状态之间的多个中间采样状态。
[0028]
在本申请实施例中,预设状态机记录自身的采样状态(称为当前的采样状态)、当前采样状态对应的采样率(称为当前的采样率)、确定当前的采样状态时使用的资源状态(称为上一资源状态)。
[0029]
步骤s106,在新的采样状态为多个中间采样状态之一时,根据新的采样状态对应的采样率调整策略确定新的采样率,其中,每个中间采样状态具有对应的采样率调整策略,采样率调整策略被设置为调整当前的采样率得到新的采样率。
[0030]
通过本申请实施例,实现了动态调整apm探针采样率,降低了apm探针采样对应用性能的影响,同时能够在应用的多种资源情况下进行采样。
[0031]
在一些实施例中,周期性地执行apm探针采样率确定方法,来根据资源情况确定apm探针的采样率,但不限于此。在另一些实施例中,可在监测到资源情况影响应用性能时执行apm探针采样率确定方法,来调整采样率。
[0032]
在某些实施例中,上述方法还包括:在采样状态为全量采样状态时,以预设最大采样率进行采样,由此最大程度地获取性能数据和/或业务数据。在采样状态为禁用采样状态时,不进行采样,由此最大程度地降低对应用性能的影响。
[0033]
在某些实施例中,多个采样调整策略被设置为按照多种程度调整当前的采样率得到新的采样率,该调整为提高或降低采样率。其中,一个或多个采样状态对应的采样调整策略被配置为降低采样率,不同采样状态对应的降低程度不同。一个或多个采样状态对应的采样调整策略被配为提高采样率,不同采样状态对应的提高程度不同。
[0034]
在某些实施例中,上述预设状态机被配置为,使得当前的资源状态相对于上一资源状态变化程度越高,进入的新的采样率状态对应的采样率的调整程度越高。例如,在当前的资源状态相对于上一资源状态充足程度大幅增加,进入大幅提高(例如提高20%)采样率的采样状态;在当前的资源状态相对于上一资源状态充足程度小幅增加时,进入小幅提高采(例如提高5%)样率的采样状态;反之,在当前的资源状态相对于上一资源状态充足程度大幅降低,进入大幅降低(例如降低20%)采样率的采样状态;在当前的资源状态相对于上一资源状态充足程度小幅降低时,进入小幅降低(例如降低10%)采样率的采样状态。由此,使得采样率与资源充足程度的变化趋势相适应。
[0035]
在某些实施例中,提高采样率到最大采样率时,进入全量采样状态,降低采样率到0时,进入禁用采样状态。
[0036]
在某些实施例中,上述多个中间采样状态包括:快速降低状态、快速增长状态、慢速增长状态和慢速降低状态;其中,快速降低状态和慢速降低状态对应的采样率调整策略,被配置为降低当前的采样率得到新的采样率,且快速降低状态对应的降低程度大于慢速降
低状态对应的降低程度;快速增长状态和慢速增长状态对应的采样率调整策略,被配置为提高当前的采样率得到新的采样率,且快速增长状态对应的提高程度大于慢速增长状态对应的提高程度。由此,实现根据资源变化程度调整采样率。
[0037]
在某些实施例中,上述资源状态包括:资源充足、资源匮乏,以及介于资源充足与资源匮乏之间的一个或多个中间资源状态,其中,上述预设状态机被配置为,在资源匮乏时进入禁用采样状态。
[0038]
在某些实施例中,上述中间资源状态为资源不足;上述多个中间采样状态包括:快速降低状态、快速增长状态、慢速增长状态和慢速降低状态;其中,上述预设状态机被设置为:在全量采样状态下,如果资源状态为资源不足,进入快速降低状态;如果资源状态为资源匮乏,进入禁用采样状态;在禁用采样状态下,如果资源状态为资源不足,进入慢速增长状态;在快速降低状态下,如果资源状态为资源充足,进入快速增长状态;如果资源状态为资源匮乏,进入禁用采样状态;在快速增长状态下,如果资源状态为资源不足,进入慢速降低状态;在慢速降低状态下,如果资源状态为资源匮乏,进入禁用采样状态;如果资源状态为资源充足,进入快速增长状态;在慢速增长状态下,如果资源状态为资源不足,进入快速降低状态;如果资源状态为资源匮乏,进入禁用采样状态。
[0039]
在某些实施例中,资源状态包括:资源充足、资源匮乏,以及介于资源充足与资源匮乏之间的一个或多个中间资源状态;apm探针采样率确定方法还包括:将使得资源状态从非资源匮乏进入资源匮乏的采样率设置为资源匮乏采样阈值;其中,快速增长状态对应的采样率调整策略包括:按照第一规则(例如变为当前的采样率的2倍)确定得出新的采样率,如果新的采样率大于资源匮乏采样阈值,将资源匮乏采样阈值作为新的采样率。例如,当前的采样率为40%,根据第一规则确定得出的新的采样率为80%,而资源匮乏采样阈值为75%,则将新的采样率设置为75%。由此避免采样率激增导致进入资源匮乏状态。
[0040]
在某些实施例中,上述资源情况包括cpu使用率、内存使用率、cpu负载率中至少之一或任意组合。
[0041]
在某些实施例中,在创建探针事务时,如果新的采样率介于禁止采样状态和全量采样状态的采样率之间(例如,0至100),生成随机数,其中,该随机数介于禁止采样状态和全量采样状态的采样率之间(例如,0至100);比较该随机数与新的采样率之间的大小;如果随机数大于新的采样率,不创建探针事务;如果随机数小于新的采样率,创建探针事务。
[0042]
下面结合一个示例对本申请实施例进行描述。
[0043]
在该示例中,如图2所示,探针事务通过定时器,定时确定当前的资源状态。
[0044]
确定当前的资源状态包括:获取当前资源情况(例如,通过apm探针获取当前应用的使用内存、cpu使用率、cpu负载率等数据);获取当前资源情况后,将资源情况转换为当前的资源状态。
[0045]
在本示例中,资源状态分为资源匮乏、资源不足和资源充足,可设置资源充足和资源不足状态之间的门限值,资源不足和资源匮乏之间的门限值,该门限值和获取的内存、cpu使用率、cpu负载率等数据确定当前的资源状态。
[0046]
将当前的资源状态传入预设状态机。预设状态机获取当前的采样状态、上一资源状态,根据当前的资源状态、上一资源状态和当前的采样状态,确定得到新的采样状态。预设状态机将新的采样率提供给探针事务,探针事务按照新的采样率进行采样。此外,还将上
一资源状态更新为当前的资源状态,将当前的采样状态更新为新的采样状态,以供下一次确定新的采样状态使用。
[0047]
在该示例中,三种资源状态意义如下:(1)资源充足:资源良好,可以尽可能多的采集数据,也大概率不会导致出现性能问题;(2)资源不足:资源不足,资源接近出现资源匮乏,比资源匮乏略好,但是需要通过一定的手段调整,例如降低采样率,防止进入资源匮乏;(3)资源匮乏:应该尽可能的通过停用采样,来降低对应用性能的影响。
[0048]
在本示例中,上述预设状态机的采样状态,分别为:全量采样状态、禁用采样状态、快速降低状态、慢速降低状态、快速增长状态、慢速增长状态。其中,全量采样状态:采样率为100%,进行全量采集;禁用采样状态:采样率为0%,不做采集。
[0049]
在该示例中,设置资源匮乏采样阈值。其中,在某一个采样率下,如果资源状态从其他状态转换为了资源匮乏,则将该采样率设置为资源匮乏采样阈值。
[0050]
在该示例中,各个采样状态的采样率调整策略如下:
[0051]
全量采样状态:新的采样率=100%;
[0052]
慢速增长状态:新的采样率=当前的采样率+5%;
[0053]
快速增长状态:在当前的采样率为0时,新的采样率=当前的采样率+10%;在当前的采样率小于50%时,新的采样率=当前的采样率*2;在当前的采样率大于或等于50%时,新的采样率=当前的采样率+10%;当新的采样率大于资源匮乏采样阈值时,当新的采样率=资源匮乏采样阈值;
[0054]
慢速降低状态:新的采样率=当前的采样率-5%;
[0055]
快速降低状态:新的采样率=当前的采样率/2;
[0056]
禁用采样状态:新的采样率=0%。
[0057]
其中,慢速增长状态和快速增长状态为提高采样率,且慢速增长状态的提高幅度小于快速增长状态;慢速降低状态和快速降低状态为降低采样率,且慢速降低状态的降低幅度小于快速降低状态。
[0058]
作为一个示例,首先进入全量采样状态,此时的采样率为100%。在全量采样状态,当检测到资源状态为资源匮乏时,进入禁用采样状态,此时的采样率为0;当检测到资源状态为资源不足时,进入快速降低状态,并根据快速降低状态的采样率调整策略确定采样率,如前所述,采样率=上一次采样率/2,此时采样率变为50%。
[0059]
在快速降低状态下,当检测资源状态为资源充足时,进入快速增长状态,并根据快速增长状态的采样率调整策略确定采样率,如前所述,采样率=上一次采样率*2,此时采样率为100%,由于采样率为100%直接进入全量采样状态;当检测到资源状态为资源匮乏,进入禁用采样状态,将采样率设置为0;当检测到资源状态为资源不足时,维持在快速降低状态,如前所述,采样率=上一次采样率/2,此时采样率变为25%。
[0060]
在快速增长状态下,当检测到资源状态为资源不足,进入慢速降低状态,如前所述,采样率=上一次采样率-5%,此时采样率为47.5%;当检测到当前的采样率超过资源匮乏采样阈值,将新的采样率设置为资源匮乏采样阈值。
[0061]
在慢速降低状态,当检测到资源状态为资源匮乏,进入禁用采样状态;当检测到资源状态为资源充足,进入快速增长状态;当检测到资源状态为资源不足,维持在慢速降低状态,使用慢速降低状态的采样率调整策略确定采样率。
[0062]
在禁用采样状态下,当检测到资源状态为资源充足,进入快速增长状态,根据快速增长状态的采样率调整策略确定采样率;当检测到资源状态为资源不足,进入慢速增长状态,根据慢速增长状态的采样率调整策略确定采样率;当检测到资源状态为资源匮乏,维持在禁用采样状态。
[0063]
在该示例中,采样率变化的一种情况如图3所示。如图3所示,实现了采样率平稳变化,避免apm探针消耗的性能导致出现的性能抖动问题。具体的,避免了apm探针由于全量和禁用两种状态直接切换,而导致性能状况出现在好和坏之间一直不停跳转的问题。
[0064]
在本申请实施例中,在确定新的采样率后,根据新的采样率来创建探针事务。下面结合一示例对创建探针事务的方法进行描述。
[0065]
在该示例中,进入创建探针事务的逻辑前,获取预设状态机设置新的采样率(在本示例中,采样率为0-100的值)。新的采样率如果为0,则停止创建该探针事务;如果为100,则直接创建该探针事务;如果为其他值,则生成一个0到100之间的随机值(不包括100),如果该随机值小于采样率,则创建该探针事务,如果大于等于该随机值,则停止创建该探针事务。
[0066]
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备20至少包括但不限于:可通过系统总线相互通信连接的存储器21、处理器22,如图4所示。需要指出的是,图4仅示出了具有组件21-22的计算机设备20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
[0067]
本实施例中,存储器21(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备20的内部存储单元,例如该计算机设备20的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备20的外部存储设备,例如该计算机设备20上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,存储器21还可以既包括计算机设备20的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备20的操作系统和各类应用软件,例如apm探针采样率确定方法的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
[0068]
处理器22在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备20的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如apm探针采样率确定方法的程序代码,以实现apm探针采样率确定方法。
[0069]
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储apm探针采样率确定程序,被处理器执行
时实现apm探针采样率确定方法的步骤。
[0070]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0071]
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
[0072]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
[0073]
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本申请的保护之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1