一种性能分析方法、装置及其设备制造方法及图纸

技术编号:22420089 阅读:19 留言:0更新日期:2019-10-30 02:32
本申请提供一种性能分析方法、装置及其设备,该方法包括:接收业务请求,并将所述业务请求对应的业务信息存储到线程栈;获取服务节点的性能数据,并从所述线程栈中获取所述业务信息;根据所述性能数据和所述业务信息对所述服务节点进行性能分析。通过本申请的技术方案,在接收到业务请求后,通过将业务请求对应的业务信息存储到线程栈,在获取到服务节点的性能数据后,可以从线程栈中获取业务信息,根据性能数据和业务信息对服务节点进行性能分析,从业务维度来查看性能数据,从业务维度来分析服务节点是否异常。

【技术实现步骤摘要】
一种性能分析方法、装置及其设备
本申请涉及互联网
,尤其涉及一种性能分析方法、装置及其设备。
技术介绍
随着互联网技术的快速发展,可以由多个服务节点(如功能子模块)实现一个业务,不同的服务节点具有不同的功能,这些服务节点之间存在调用关系,而该调用关系就构成了调用链路,该调用链路上的任何一个服务节点出现异常,就可能导致整个业务异常。因此,需要收集每个服务节点的性能数据,利用性能数据对服务节点进行性能分析,从而根据分析结果确定服务节点是否异常。但是,传统的性能分析方法,无法从业务维度来分析服务节点是否异常。
技术实现思路
本申请提供一种性能分析方法,所述方法包括:接收业务请求,并将所述业务请求对应的业务信息存储到线程栈;获取服务节点的性能数据,并从所述线程栈中获取所述业务信息;根据所述性能数据和所述业务信息对所述服务节点进行性能分析。本申请提供一种性能分析方法,所述方法包括:创建用户线程,并在所述用户线程对应的线程栈中预留指定栈空间;通过所述用户线程接收业务请求;将所述业务请求对应的业务信息存储到所述指定栈空间;利用所述指定栈空间中存储的业务信息对所述服务节点进行性能分析。本申请提供一种性能分析装置,所述装置包括:接收模块,用于接收业务请求;存储模块,用于将所述业务请求对应的业务信息存储到线程栈;获取模块,用于获取服务节点的性能数据,并从线程栈获取所述业务信息;分析模块,用于根据所述性能数据和业务信息对服务节点进行性能分析。本申请提供一种性能分析装置,所述装置包括:创建模块,用于创建用户线程,并在所述用户线程对应的线程栈中预留指定栈空间;接收模块,用于通过所述用户线程接收业务请求;存储模块,用于将所述业务请求对应的业务信息存储到所述指定栈空间;分析模块,用于利用所述指定栈空间中存储的业务信息对所述服务节点进行性能分析。本申请提供一种性能分析设备,包括:处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:接收业务请求,并将所述业务请求对应的业务信息存储到线程栈;获取服务节点的性能数据,并从所述线程栈中获取所述业务信息;根据所述性能数据和所述业务信息对所述服务节点进行性能分析。本申请提供一种性能分析设备,包括:处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:创建用户线程,并在所述用户线程对应的线程栈中预留指定栈空间;通过所述用户线程接收业务请求;将所述业务请求对应的业务信息存储到所述指定栈空间;利用所述指定栈空间中存储的业务信息对所述服务节点进行性能分析。基于上述技术方案,本申请实施例中,在接收到业务请求后,通过将业务请求对应的业务信息存储到线程栈,在获取到服务节点的性能数据后,可以从线程栈中获取业务信息,并根据性能数据和业务信息对服务节点进行性能分析,从而从业务维度来查看性能数据,并从业务维度来分析服务节点是否异常。附图说明为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其它的附图。图1是本申请一种实施方式中的应用场景示意图;图2是本申请一种实施方式中的服务节点处理业务请求的示意图;图3是本申请一种实施方式中的性能分析方法的流程图;图4是本申请另一种实施方式中的性能分析方法的流程图;图5是本申请一种实施方式中的性能分析装置的结构图;图6是本申请一种实施方式中的性能分析装置的结构图。具体实施方式在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。本申请实施例中提出了一种性能分析方法,可以应用于性能分析设备,该性能分析设备可以为PC(PersonalComputer,个人计算机)、笔记本电脑、移动终端、终端设备、服务器、数据平台、电商平台等,对此设备类型不做限制。参见图1所示,为了向客户端提供业务(如注册业务、下单业务、支付业务等,对此业务的类型不做限制),则可以包括多个服务节点(如功能子模块等),且不同的服务节点可以具有不同的功能。例如,在服务节点A、服务节点B和服务节点C用于实现注册业务时,则服务节点A、服务节点B和服务节点C组成一个调用链路1;在服务节点A和服务节点D用于实现下单业务时,则服务节点A和服务节点D组成一个调用链路2;在服务节点A和服务节点C用于实现支付业务时,则服务节点A和服务节点C组成一个调用链路3。进一步的,在接收到针对注册业务的业务请求后,由调用链路1上的服务节点A、服务节点B和服务节点C根据该业务请求进行处理,最终实现注册业务。在接收到针对下单业务的业务请求后,由调用链路2上的服务节点A和服务节点D根据该业务请求进行处理,最终实现下单业务。在接收到针对支付业务的业务请求后,由调用链路3上的服务节点A和服务节点C根据该业务请求进行处理,最终实现支付业务。当然,上述只是几个示例,对此不做限制。在一个例子中,可以收集每个服务节点的性能数据,并利用该性能数据对该服务节点进行性能分析。例如,可以收集服务节点A的性能数据,并利用该性能数据对服务节点A进行性能分析。例如,性能数据可以包括但不限于CPU资源、内存资源、处理时间、网络资源中的一个或者多个。若CPU资源大于预设阈值,则性能分析结果可以是服务节点A占用的CPU资源较多;基于该性能分析结果,可以对服务节点A的软件和/或硬件进行调整,以减少服务节点A占用的CPU资源;若CPU资源不大于预设阈值,则性能分析结果可以是服务节点A占用的CPU资源合理,不需要对服务节点A的软件和/或硬件进行调整。同理,内存资源、处理时间、网络资源的分析过程与CPU资源类似,在此不再赘述。参见上述实施例,服务节点A可以对注册业务的业务请求进行处理,可以对下单业务的业务请求进行处理,还可以对支付业务的业务请求进行处理,这样,在收集服务节点A的性能数据时,这个性能数据是针对注册业务的性能数据,还是针对下单业务的性能数据,还是针对支付业务的性能数据。显然,若不关注性能数据对应的业务类型,就会导致无法从业务维度来分析服务节点。例如,当CPU资源大于预设阈值时,无法获知是注册业务的CPU资源大于预设阈值,还是下单业务的CPU资源大于预设阈值,还是支付业务的CPU资源大于预设阈值,这样,也就无法针对某个业务,有针对性的对服务节点A的软件和/或硬件进行调整,导致调整后的服务节点仍然无法本文档来自技高网...

【技术保护点】
1.一种性能分析方法,其特征在于,所述方法包括:接收业务请求,并将所述业务请求对应的业务信息存储到线程栈;获取服务节点的性能数据,并从所述线程栈中获取所述业务信息;根据所述性能数据和所述业务信息对所述服务节点进行性能分析。

【技术特征摘要】
1.一种性能分析方法,其特征在于,所述方法包括:接收业务请求,并将所述业务请求对应的业务信息存储到线程栈;获取服务节点的性能数据,并从所述线程栈中获取所述业务信息;根据所述性能数据和所述业务信息对所述服务节点进行性能分析。2.根据权利要求1所述的方法,其特征在于,所述将所述业务请求对应的业务信息存储到线程栈,包括:将所述业务请求对应的业务信息存储到所述线程栈的指定栈空间;其中,所述指定栈空间包括创建线程时预留的栈空间。3.根据权利要求1所述的方法,其特征在于,获取服务节点的性能数据,并从所述线程栈中获取所述业务信息,包括:将所述线程栈提供给性能数据采集线程;通过所述性能数据采集线程获取服务节点的性能数据;通过所述性能数据采集线程从所述线程栈中获取所述业务信息。4.根据权利要求3所述的方法,其特征在于,所述将所述线程栈提供给性能数据采集线程,包括:根据线程栈的开始位置和结束位置,复制所述线程栈;将复制的所述线程栈提供给所述性能数据采集线程。5.根据权利要求1或3所述的方法,其特征在于,所述获取服务节点的性能数据,并从所述线程栈中获取所述业务信息之后,所述方法还包括:将所述服务节点的性能数据与所述线程栈中的所述业务信息进行关联。6.根据权利要求1所述的方法,其特征在于,根据所述性能数据和所述业务信息对所述服务节点进行性能分析,包括:根据所述性能数据对所述服务节点进行性能分析,得到性能分析结果;建立所述业务信息与所述性能分析结果的关联关系。7.根据权利要求1所述的方法,其特征在于,根据所述性能数据和所述业务信息对所述服务节点进行性能分析,包括:获取与所述业务信息对应的所有性能数据;利用获取的性能数据对所述服务节点进行性能分析,得到性能分析结果;建立所述业务信息与所述性能分析结果的关联关系。8.根据权利要求1所述的方法,其特征在于,所述业务信息包括以下之一或者任意组合:业务标识、业务类型、服务标识、业务请求时间。9.一种性能分析方法,其特征在于,所述方法包括:创建用户线程,并在所述用户线程对应的线程栈中预留指定栈空间;通过所述用户线程接收业务请求;将所述业务请求对应的业务信息存储到所述指定栈空间;利用所述指定栈空间中存储的业务信息对所述服务节点进行性能分析。10.根据权利要求9所述的方法,其特征在于,所述利用所述指定栈空间中存储的业务信息对所述服务节点进行性能分析,包括:获取服务节点的性能数据,并从所述指定栈空间中获取所述业务信息;根据所述性能数据和所述业务信息对所述服务节点进行性能分析。11.根据权利要求10所述的方法,其特征在于,所述获取服务节点的性能数据,并从所述指定栈空间中获取所述业务信息,包括:将所述线程栈提供给性能数据采集线程;通过所述性能数据采集线程获取服务节点的性能数据;通过所述性能数据采集线程从所述指定栈空间中获取所述业务...

【专利技术属性】
技术研发人员:徐建伟陆传胜
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1