CN110807050B - 性能分析方法、装置、计算机设备及存储介质 - Google Patents
性能分析方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110807050B CN110807050B CN201910908943.7A CN201910908943A CN110807050B CN 110807050 B CN110807050 B CN 110807050B CN 201910908943 A CN201910908943 A CN 201910908943A CN 110807050 B CN110807050 B CN 110807050B
- Authority
- CN
- China
- Prior art keywords
- service
- performance
- target
- link information
- services
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请公开一种性能分析方法、装置、计算机设备及存储介质,涉及大数据领域,所述方法包括获取多个服务的目标链路信息,根据所述目标链路信息对所述多个服务进行分类,以得到多个目标服务组,以及计算目标服务组中各服务的性能参数,根据性能参数分析目标服务组中各服务的服务调用性能,以实现每个服务的链路信息对服务调用进行分组、分类、计算处理,进而通过服务调用的性能参数分析得到每个服务调用性能,实现了微服务集群服务之间的调用性能概况的统一处理,提高了对服务性能问题的排查效率。
Description
技术领域
本申请涉及大数据领域,尤其涉及性能分析方法、装置、计算机设备及存储介质。
背景技术
为了应对复杂的业务,各个公司的系统架构从单机大型软件演化成为服务架构,这些服务可能是不同团队,不同语言实现的,也可能发布在多台服务器上。因此如果一个服务出现问题,可能导致几十个服务都出现异常。全链路监控系统可以记录请求范围内的信息,例如一次远程方法调用的执行过程和耗时,是排查系统问题和系统性能的重要工具。
传统的全链路监控系统性能分析是对单独的每个服务进行统计,即按照每次服务调用的数据进行统计,这样只能对单个服务的性能进行统计,无法展示微服务集群服务之间的性能概况,导致出现问题时排查困难。比如A服务同时和B,C,D,E,F四个服务有互相调用关系,当出现B,C,D服务调用A时,耗时很少,F服务调用A时,耗时很高的情况时,传统的统计方法只能统计出A服务某些情况下耗时很高,需要进一步去查更详细的链路信息才能定位出问题,十分的耗费人力和时间。
发明内容
本申请实施例的目的在于提出一种性能分析方法,以解决服务性能的问题排查效率低的问题。
为了解决上述技术问题,本申请实施例提供一种性能分析方法,包括如下步骤:
获取多个服务的目标链路信息,其中,所述目标链路信息包括状态信息以及服务标记;
根据所述目标链路信息对所述多个服务进行分类,以得到多个目标服务组,其中,所述目标服务组中包括具备同一调用关系的多个服务,且所述多个服务的服务标记互不相同;
计算所述目标服务组中各服务的性能参数;
根据所述性能参数分析所述目标服务组中各服务的服务调用性能。
进一步的,性能分析方法还包括:
根据所述服务标记对所述目标链路信息进行初始分类;
按照所述状态信息确定所述初始分类中的每个服务之间的父子关系;
将相同所述父子关系的服务归为同一个目标服务组。
进一步的,性能分析方法还包括:
当接收到调用请求时,实时接收每个服务上传的链路信息;
将接收到的每个所述链路信息存储在数据库中;
根据预设计算周期获取所述数据库中所述每个服务的链路信息,以作为所述目标链路信息。
进一步的,性能分析方法还包括:
统计所述同一调用关系的数量,以及所述同一调用关系的不同所述服务标记个数;
计算所述同一调用关系的数量与所述服务标记个数的占比值,以作为所述性能参数。
进一步的,性能分析方法还包括:
获取所述预设计算周期内各服务对应的所述性能参数;
将所述性能参数进行平均处理;
根据平均处理后得到的参数结果分析每个所述服务的服务调用性能。
进一步的,性能分析方法还包括:
将每个所述预设计算周期计算得到的所述性能参数保存在所述数据库中。
进一步的,性能分析方法还包括:
在得到所述服务对应的性能参数后,将所述性能参数对应的链路信息从所述数据库中清除。
为了解决上述技术问题,本申请实施例还提供一种性能分析装置,所述性能分析装置包括:
获取模块,用于获取多个服务的目标链路信息,其中,所述目标链路信息包括状态信息以及服务标记;
确定模块,用于根据所述目标链路信息对所述多个服务进行分类,以得到多个目标服务组,其中,所述目标服务组中包括具备同一调用关系的多个服务,且所述多个服务的服务标记互不相同;
计算模块,用于计算所述目标服务组中各服务的性能参数;
分析模块,用于根据所述性能参数分析所述目标服务组中各服务的服务调用性能。
进一步的,所述确定模块还包括:
分组子模块,用于根据所述服务标记对所述目标链路信息进行初始分类;
确定子模块,用于按照所述状态信息确定所述初始分类中的每个服务之间的父子关系;
同类子模块,用于将相同所述父子关系的服务归为同一个目标服务组。
进一步的,所述获取模块还包括:
接收子模块,用于当接收到调用请求时,实时接收每个服务上传的链路信息;
存储子模块,用于将接收到的每个所述链路信息存储在数据库中;
第一获取子模块,用于根据预设计算周期获取所述数据库中所述每个服务的链路信息,以作为所述目标链路信息。
进一步的,所述计算模块还包括:
统计子模块,用于统计所述同一调用关系的数量,以及所述同一调用关系的不同所述服务标记个数;
计算子模块,用于计算所述同一调用关系的数量与所述服务标记个数的占比值,以作为所述性能参数。
进一步的,所述分析模块还包括:
第二获取子模块,用于获取所述预设计算周期内各服务对应的所述性能参数;
累加子模块,用于将所述性能参数进行平均处理;
分析子模块,用于根据平均处理后得到的参数结果分析每个所述服务的服务调用性能。
进一步的,所述性能分析装置还包括:
保存模块,用于将每个所述预设计算周期计算得到的所述性能参数保存在所述数据库中。
进一步的,所述性能分析装置还包括:
清除模块,用于在得到所述服务对应的性能参数后,将所述性能参数对应的链路信息从所述数据库中清除。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述性能分析方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的性能分析方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:
通过获取多个服务的目标链路信息,根据所述目标链路信息对所述多个服务进行分类,以得到多个目标服务组,以及计算目标服务组中各服务的的性能参数,根据性能参数分析目标服务组中各服务的服务调用性能,以实现每个服务的链路信息对服务调用进行分组、分类、计算处理,进而通过服务调用的性能参数分析得到每个服务调用性能,实现了服务之间的调用性能概况的统一处理,提高了对服务性能问题的排查效率。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2根据本申请的性能分析方法的一个实施例的流程图;
图3是根据本申请的性能分析装置的一个实施例的结构示意图;
图4是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture E性能分析perts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureE性能分析perts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的性能分析方法一般由服务器/终端设备执行,相应地,性能分析装置一般设置于服务器/终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的性能分析的方法的一个实施例的流程图。所述的性能分析方法,包括以下步骤:
S201:获取多个服务的目标链路信息,其中,所述目标链路信息包括状态信息以及服务标记。
其中,服务可以是多个服务,并且各个服务之间可以直接或间接存在调用关系,上述目标链路信息是在每个服务进行服务调用时上传的多条数据信息,并且该数据信息存储在数据库中。
进一步地,上述目标链路信息可以包括但不限于状态信息以及服务标记,其中,状态信息可以称为span信息,状态信息包括但不限于服务名信息、业务名信息、操作名信息、成功状态信息、延时状态信息、父服务名信息中的一种或多种,比如,状态信息1包括:服务名:B、业务名:立虚拟机、操作名:create vm、成功状态:失败、所属实施:SZD02以及父服务名:A。
具体地,服务标记是在各个服务间进行服务调用时生成的,也可以是上一个服务调用传递下来的。服务标记可以命名为trace ID,服务标记也可以是符号、数据、字母等一种或多种组合得到。其中,包含同一个服务标记的不同服务调用,属于同一个完整的服务调用,比如,有4个服务A、B、C、D,且服务A-B-C-D之间依次存在调用关系,也即服务A想调用服务D的服务,但在调用过程中必须得经过服务A调用服务B,服务B调用服务C,服务C调用服务D,服务A才能够调用到服务D的服务,所以,服务A在发起调用时,生成一个服务标记如数字1,服务A将服务标记1与服务A的状态信息生成链路信息上传到服务管理系统,并且服务A将该服务标记1传递到服务B中。当服务B接收到该服务标记1时,将服务标记1与服务B的状态信息共同生成服务B的链路信息上传到服务管理系统,并且将该服务标记1传递到服务C中。当服务C接收到该服务标记1时,将服务标记1与服务C的状态信息共同生成服务C的链路信息上传到服务管理系统,并且将该服务标记1传递到服务D中。当服务D接收到该服务标记1时,将服务标记1与服务D的状态信息共同生成服务D的链路信息上传到服务管理系统。这样完成A-B-C-D服务之间的服务调用关系,形成一个完整的服务调用,那么服务A、B、C、D上传的链路信息中均包含有相同的服务标识1,所以服务A、B、C、D之间的调用关系属于同一个完整的服务调用。
S202:根据所述目标链路信息对所述多个服务进行分类,以得到多个目标服务组,其中,所述目标服务组中包括具备同一调用关系的多个服务,且所述多个服务的服务标记互不相同。
其中,调用关系可以为私有调用关系、静态调用关系、父子调用关系、同级调用关系等。例如,获取的状态信息为服务A向下一级服务B发送指令信息,即表示服务A是服务B的父服务,服务B是服务A的子服务。
具体地,当将具有相同服务标记的目标链路信息对应的服务分为同一组别后,根据状态信息中的父服务名来判断各个服务之间进行服务调用的父子关系,以得到多个目标服务组,例如,服务A、B、C、D为具有相同服务标识的一组,在服务A的状态信息中,父服务名为空;在服务B的状态信息中,父服务名为服务A;在服务C的状态信息中,父服务名为服务B;在服务D的状态信息中,父服务名为服务C;由此可知,服务A调用服务B,服务A为父服务,服务B为子服务;服务B调用服务C,服务B为父服务,服务C为子服务;服务C调用服务D,服务C为父服务,服务D为子服务。
S203:计算所述目标服务组中各服务的性能参数。
其中,性能参数包括多个性能参数元素的性能参数中的一种或多种,所述性能参数元素包括成功、失败、延时中的一种或多种。
在将具有相同父子关系的服务调用进行分类之后,将分类好的每一类具有相同父子关系的服务调用进行统计计算,即计算目标服务组中该父子关系的数量,也即计算具有相同父子关系,且服务标记不同的服务调用的个数。比如,4种具有相同父子关系的服务调用后,分别对这4种具有相同父子关系的服务调用进行性能参数计算,首先分别计算4个具有相同父子关系服务调用的个数,再判断4个具有相同父子关系服务调用的个数中成功次数占比、失败次数占比、延时次数占比等性能参数的一种或多种。
需要说明的是,每个服务的性能参数都是不一样的,每个服务的性能参数不需要保持一致,因为不同的服务被被调用的次数或者调用其他服务的次数都不一样,最后计算得到的服务的性能参数也是不一样的。
在本实施例中,对服务调用的维度不做限定,可根据服务需求、服务数量以及各服务之间的服务调用进行计算,其中,计算包括:将各服务的性能参数与各性能参数对应的预设性能参数阈值进行比较,由于一个服务调用可以有多个性能参数原始元素,所以会为多个性能参数元素设置有对应的预设性能参数阈值,并且分别计算该服务调用各性能参数元素的实际性能参数。
S204:根据所述性能参数分析所述目标服务组中各服务的服务调用性能。
其中,在步骤S203中计算得到的各个服务调用的性能参数后,将各个服务调用的性能参数与预设性能参数阈值进行比较,若不满足预设性能参数阈值,则说明该服务是调用性能差。若满足预设性能参数阈值,则说明该服务的调用性能好,从而可以更宏观的连接到整个服务集群中,更好地使服务管理系统管理和统计各个服务调用的服务调用性能。
通过获取多个服务的目标链路信息,根据所述目标链路信息对所述多个服务进行分类,以得到多个目标服务组,以及计算目标服务组中各服务的性能参数,根据性能参数分析目标服务组中各服务的服务调用性能,以实现每个服务的链路信息对服务调用进行分组、分类、计算处理,进而通过服务调用的性能参数分析得到每个服务调用性能,实现了微服务集群服务之间的调用性能概况的统一处理,提高了对服务性能问题的排查效率。
在本实施例的一些可选的实现方式中,步骤S202,即调用关系为父子关系,根据所述目标链路信息对所述多个服务进行分类,以得到多个目标服务组,其中,所述目标服务组中包括具备同一调用关系的多个服务,且所述多个服务的服务标记互不相同,上述电子设备还可以执行以下步骤:
根据所述服务标记对所述目标链路信息进行初始分类;
按照所述状态信息确定所述初始分类中的每个服务之间的父子关系;
将相同所述父子关系的服务归为同一个目标服务组。
具体地,在获取到预设计算周期内的各个服务的目标链路信息后,将每个服务的上传的服务标记依次进行比较,将在包含同一个服务标记的服务分为一个组进行分类,比如,服务A、B、C、D上传的链路信息中包含同一个服务标记,则将服务A、B、C、D对应的链路信息分为一组,也即将链路信息对应的服务A、B、C、D分为一个组。
在本实施例中,利用大数据分析工具spark,使用多台机器搭建spark集群,利用spark(一种专为大规模数据处理而设计的快速通用的计算引擎)的api(应用程序编程接口)来进行数据聚合和统计,并且使用open tracing(开放分布式追踪)协议。
具体地,当确定具有相同服务标识的服务分类后,将每个分类中具有相同父子关系的服务调用进行归类,即归为同一个目标服务组。也可以是将具有相同父子关系的,不同服务标识对应的服务调用进行归类累加,进而得到多种具有相同父子关系的服务调用。比如服务A-B-C-D是一个具有相同服务标识1的完整的服务调用组,且存在含有相同服务标识1的3组父子关系,分别为A-B父子关系、B-C父子关系、C-D父子关系;而服务F-B-C-D是一个具有相同服务标识2的完整的服务调用组,且存在含有相同服务标识2的3组父子关系,分别为为F-B父子关系、B-C父子关系、C-D父子关系;那么这两个服务调用组中有6组父子关系,将具有相同父子关系的服务调用进行分类,则为,将A-B父子关系分为一类、将具有服务标记1的B-C父子关系和具有服务标记2的B-C父子关系分为一类、将具有服务标记1的C-D父子关系和具有服务标记2的C-D父子关系分为一类、将F-B父子关系分为一类,这样就得到4种具有相同父子关系的服务调用。
通过根据服务标记对目标链路信息进行初始分类,按照状态信息确定初始分类中的每个服务之间的父子关系,将相同父子关系的服务归为同一个目标服务组,可以更宏观的连接到整个服务集群中,方便对各个服务调用的数据信息进行管理和统计。
本实施例的一些可选的实现方式中,上述步骤S201,即获取服务的链路信息的步骤具体包括:
当接收到调用请求时,实时接收每个服务上传的链路信息;
将接收到的每个所述链路信息存储在数据库中;
根据预设计算周期获取所述数据库中所述每个服务的链路信息,以作为所述目标链路信息。
其中,当服务管理系统检测到服务的调用请求时,触发接收指令,实时接收服务上传的链路信息。服务管理系统每接收一个服务的链路信息,就将该服务对应的链路信息进行保存在数据库中,其中,所述数据库中可以存储有多个服务的多个链路信息,便于分析每个服务之间的服务调用性能。
其中,预设计算周期可以是预先设置的一个服务调用性能参数的计算周期,预设计算周期可以是1分钟、5分钟、10分钟、30分钟、1小时等。设置预设计算周期是为了减少服务管理系统的计算时间及计算量,便于提高服务管理系统的计算效率。
具体地,在某一个预设计算周期内,各个服务之间不断的产生服务调用,那么上传到数据库中的链路信息也随着增加。在下一个预设计算周期到来时,获取预设计算周期内存储的各个服务的目标链路信息,便于对各个服务的链路信息进行分析处理。
在本实施例中,通过当接收到调用请求时,实时接收每个服务上传的链路信息,将接收到的每个链路信息存储在数据库中,根据预设计算周期获取数据库中每个服务的链路信息,以作为目标链路信息,有利于对各个服务的链路信息进行有效管理,利于服务管理系统分析服务调用性能时得到的数据信息的支持,使分析结果更可靠。
本实施例的一些可选的实现方式中,上述步骤S203,通过计算所述目标服务组中各服务的性能参数的步骤具体包括:
统计所述同一调用关系的数量,以及所述同一调用关系的不同所述服务标记个数;
计算所述同一调用关系的数量与所述服务标记个数的占比值,以作为所述性能参数。
具体地,在将具有相同父子关系的服务调用进行分类之后,将分类好的每一类具有相同父子关系的服务调用进行统计计算,计算该父子关系的数量,也即计算具有相同父子关系,且服务标记不同的服务调用的个数。例如,4种具有相同父子关系的服务调用后,分别对这4种具有相同父子关系的服务调用进行性能参数计算,首先分别计算4个具有相同父子关系服务调用的个数,再判断4个具有相同父子关系服务调用的个数中成功次数占比、失败次数占比、延时次数占比等性能参数的一种或多种。在本实施例中,对服务调用的维度不做限定,可根据服务需求、服务数量以及各服务之间的服务调用进行计算。
进一步地,计算所述同一调用关系的数量与所述服务标记个数的占比值,以作为所述性能参数可以是在计算多个服务调用中,成功调用次数占总调用次数的百分比即为服务调用的一种性能参数,或者,将延时调用次数占总调用次数的百分比确定为性能参数。
比如,总的服务调用次数为100个,成功的服务调用次数为60个,那么该服务调用的性能参数为60%。或者,比如A-B,A服务调用B服务,总的调用次数为100,有60次调用为成功,有30次为延时,有10次为失败;那么该服务调用性能参数为成功的性能参数为60%;服务调用性能参数为延时的性能参数为30%;服务调用性能参数为失败的性能参数为10%。
在本实施例中,通过统计同一调用关系的数量,以及同一调用关系的不同服务标记个数,计算同一调用关系的数量与服务标记个数的占比值,以作为性能参数,微服务集群服务之间的调用性能概况的统一处理,提高了对服务性能问题的排查效率。
在一些实施方式中,上述步骤S204,即根据所述性能参数分析所述目标服务组中各服务的服务调用性能,上述电子设备可以执行以下步骤:
获取所述预设计算周期内各服务对应的所述性能参数;
将所述性能参数进行平均处理;
根据平均处理后得到的参数结果分析每个所述服务的服务调用性能。
具体地,将预设计算周期内计算得到的至少两个服务调用对应的性能参数进行累加,并求其该累加后的性能参数的均值,即得到该服务的均值结果,或者将各个预设计算周期内计算得到每一种性能参数进行累加,并求其累加后的性能参数的平均结果,即得到平均预设计算周期对应的平均性能参数。例如,分别获取一个小时内多个服务调用的成功占比、失败占比、延时占比等,并计算每个服务调用对应的一种或多种的性能参数的均值,进而得到一个总的性能参数,如得到一个新的成功占比、失败占比、或者延时占比。
进一步地,分析每个所述服务标记对应的服务调用性能可以是将各个服务调用的性能参数与预设性能参数阈值进行比较,若不满足预设性能参数阈值,则说明该服务调用性能差。若满足预设性能参数阈值,则说明该服务调用性能好。
进一步地,可以将成功、失败、延时等设置不同的预设性能参数阈值,比如,成功的预设性能参数阈值设置为80%;延时的预设性能参数阈值设置为50%等,具体的预设性能参数阈值可根据用户需求进行设置。
进一步地,若某服务调用的性能参数阈值为80%,那个该服务调用的实际性能参数60%不满足性能参数阈值80%,所以可以分析说明该服务调用的成功服务调用性能差。
在本实施例中,通过获取预设计算周期内对应的性能参数,将性能参数进行平均处理,根据平均处理后得到的参数结果分析每个服务的服务调用性能,从而实现了在减少数据库占用的同时提高计算效率,并能够准确的分析出各个服务调用的服务调用性能,既可以更宏观的连接到整个服务集群中,方便对各个服务调用的数据信息进行管理和统计,同时提高服务调用的排查效率。
在一些实施方式中,上述步骤S203之后,即计算所述目标服务组中各服务的性能参数之后,上述电子设备可以执行以下步骤:
将每个所述预设计算周期计算得到的所述性能参数保存在所述数据库中。
具体的,将预设计算周期作为计算周期,那么可以间隔一个预设计算周期对每个服务上传的链路信息进行处理,并计算各个服务调用之间的性能参数,并将计算得到的各个具有相同父子关系的,不同服务标记的服务调用的性能参数进行保存,保存的方式可以是将每个预设计算周期计算得到的服务调用的性能参数分别进行保存,也可以是将每次计算得到的服务调用的性能参数进行累加并保存,通过保存性能参数可以方便对服务调用的数据据信息进行查询、管理和统计。
在一些实施方式中,上述步骤S203之后,即计算所述目标服务组中各服务的性能参数之后,上述电子设备可以执行以下步骤:
在得到所述服务对应的性能参数后,将所述性能参数对应的链路信息从所述数据库中清除。
具体地,当最先存储在数据库中的链路信息被分析、计算得到各服务调用的性能参数后,将最先存储在数据库中的链路信息进行清除,这样可以保留性能参数的计算结果,并且能够减少数据库的占用。在下次预设周期来临时,只需要分析上个预设计算周期到本预设计算周期之间存储在数据库中的新的链路信息,并计算各个服务调用的性能参数,并保存计算结果即可。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)等非易失性存储介质,或随机存储记忆体(Random AccessMemory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种性能分析装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例所述的性能分析装置包括:获取模块301、确定模块302、计算模块303以及分析模块304。其中:
获取模块301,用于获取多个服务的目标链路信息,其中,所述目标链路信息包括状态信息以及服务标记;
确定模块302,用于根据所述目标链路信息对所述多个服务进行分类,以得到多个目标服务组,其中,所述目标服务组中包括具备同一调用关系的多个服务,且所述多个服务的服务标记互不相同;
计算模块303,用于计算所述目标服务组中各服务的性能参数;
分析模块304,用于根据所述性能参数分析所述目标服务组中各服务的服务调用性能。
进一步的,所述确定模块还302包括:
分组子模块,用于根据所述服务标记对所述目标链路信息进行初始分类;
确定子模块,用于按照所述状态信息确定所述初始分类中的每个服务之间的父子关系;
同类子模块,用于将相同所述父子关系的服务归为同一个目标服务组。
进一步的,所述获取模块301还包括:
接收子模块,用于当接收到调用请求时,实时接收每个服务上传的链路信息;
存储子模块,用于将接收到的每个所述链路信息存储在数据库中;
第一获取子模块,用于根据预设计算周期获取所述数据库中所述每个服务的链路信息,以作为所述目标链路信息。
进一步的,所述计算模块303还包括:
统计子模块,用于统计所述同一调用关系的数量,以及所述同一调用关系的不同所述服务标记个数;
计算子模块,用于计算所述同一调用关系的数量与所述服务标记个数的占比值,以作为所述性能参数。
进一步的,所述分析模块304还包括:
第二获取子模块,用于获取所述预设计算周期内各服务对应的所述性能参数;
累加子模块,用于将所述性能参数进行平均处理;
分析子模块,用于根据平均处理后得到的参数结果分析每个所述服务的服务调用性能。
进一步的,所述性能分析装置还包括:
保存模块,用于将每个所述预设计算周期计算得到的所述性能参数保存在所述数据库中。
进一步的,所述性能分析装置还包括:
清除模块,用于在得到所述服务对应的性能参数后,将所述性能参数对应的链路信息从所述数据库中清除。
关于上述实施例中性能分析装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件41-43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或D性能分析存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如性能分析方法的程序代码等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的程序代码或者处理数据,例如运行所述性能分析方法的程序代码。
所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有性能分析程序,所述性能分析程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的性能分析方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (9)
1.一种性能分析方法,其特征在于,所述方法包括:
获取多个服务的目标链路信息,其中,所述目标链路信息包括状态信息以及服务标记;
根据所述目标链路信息对所述多个服务进行分类,以得到多个目标服务组,其中,所述目标服务组中包括具备同一调用关系的多个服务,且所述多个服务的服务标记互不相同;
计算所述目标服务组中各服务的性能参数;
根据所述性能参数分析所述目标服务组中各服务的服务调用性能;
所述计算所述目标服务组中各服务的性能参数包括:
统计所述同一调用关系的数量,以及所述同一调用关系的不同所述服务标记个数;
计算所述同一调用关系的数量与所述服务标记个数的占比值,以作为所述性能参数。
2.根据权利要求1所述的性能分析方法,其特征在于,所述调用关系为父子关系,所述根据所述目标链路信息对所述多个服务进行分类,以得到多个目标服务组包括:
根据所述服务标记对所述目标链路信息进行初始分类;
按照所述状态信息确定所述初始分类中的每个服务之间的父子关系;
将相同所述父子关系的服务归为同一个目标服务组。
3.根据权利要求1所述的性能分析方法,其特征在于,所述获取多个服务的目标链路信息包括:
当接收到调用请求时,实时接收每个服务上传的链路信息;
将接收到的每个所述链路信息存储在数据库中;
根据预设计算周期获取所述数据库中所述每个服务的链路信息,以作为所述目标链路信息,以作为所述目标链路信息。
4.根据权利要求3所述的性能分析方法,其特征在于,所述根据所述性能参数分析所述目标服务组中各服务的服务调用性能包括:
获取所述预设计算周期内各服务对应的所述性能参数;
将所述性能参数进行平均处理;
根据平均处理后得到的参数结果分析每个所述服务的服务调用性能。
5.根据权利要求3所述的性能分析方法,其特征在于,所述计算所述目标服务组中各服务的性能参数之后,所述方法还包括:
将每个所述预设计算周期计算得到的所述性能参数保存在所述数据库中。
6.根据权利要求3所述的性能分析方法,其特征在于,所述计算所述目标服务组中各服务的性能参数之后,所述方法还包括:
在得到所述服务对应的性能参数后,将所述性能参数对应的链路信息从所述数据库中清除。
7.一种性能分析装置,其特征在于,包括:
获取模块,用于获取多个服务的目标链路信息,其中,所述目标链路信息包括状态信息以及服务标记;
确定模块,用于根据所述目标链路信息对所述多个服务进行分类,以得到多个目标服务组,其中,所述目标服务组中包括具备同一调用关系的多个服务,且所述多个服务的服务标记互不相同;
计算模块,用于计算所述目标服务组中各服务的性能参数;
分析模块,用于根据所述性能参数分析所述目标服务组中各服务的服务调用性能;
所述计算所述目标服务组中各服务的性能参数包括:
统计所述同一调用关系的数量,以及所述同一调用关系的不同所述服务标记个数;
计算所述同一调用关系的数量与所述服务标记个数的占比值,以作为所述性能参数。
8.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的性能分析方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的性能分析方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910908943.7A CN110807050B (zh) | 2019-09-25 | 2019-09-25 | 性能分析方法、装置、计算机设备及存储介质 |
PCT/CN2019/117741 WO2021056739A1 (zh) | 2019-09-25 | 2019-11-13 | 性能分析方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910908943.7A CN110807050B (zh) | 2019-09-25 | 2019-09-25 | 性能分析方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110807050A CN110807050A (zh) | 2020-02-18 |
CN110807050B true CN110807050B (zh) | 2023-05-30 |
Family
ID=69487667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910908943.7A Active CN110807050B (zh) | 2019-09-25 | 2019-09-25 | 性能分析方法、装置、计算机设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110807050B (zh) |
WO (1) | WO2021056739A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114650252B (zh) * | 2022-03-25 | 2023-11-21 | 华润数字科技(深圳)有限公司 | 基于企业服务总线的路由方法、装置及计算机设备 |
CN116737514B (zh) * | 2023-08-15 | 2023-12-22 | 南京国睿信维软件有限公司 | 一种基于日志与探针解析自动化运维方法 |
CN117056102B (zh) * | 2023-08-17 | 2024-04-09 | 北京远舢智能科技有限公司 | 一种数据调用方法、系统、计算机设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080036829A (ko) * | 2006-10-24 | 2008-04-29 | 주식회사 엘지텔레콤 | 쿠폰 서비스 방법 및 이를 이용한 쿠폰 서비스 시스템 |
CN107622084A (zh) * | 2017-08-10 | 2018-01-23 | 深圳前海微众银行股份有限公司 | 日志管理方法、系统以及计算机可读存储介质 |
CN110113200A (zh) * | 2019-04-29 | 2019-08-09 | 平安科技(深圳)有限公司 | 链路系统与日志系统的关联方法、装置及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7502994B2 (en) * | 2001-02-05 | 2009-03-10 | Omniture, Inc. | Web page link-tracking system |
CN106375458B (zh) * | 2016-09-08 | 2019-12-13 | 上海银赛计算机科技有限公司 | 服务调用系统、方法及装置 |
CN108173894A (zh) * | 2016-12-07 | 2018-06-15 | 阿里巴巴集团控股有限公司 | 服务器负载均衡的方法、装置及服务器设备 |
CN106790718A (zh) * | 2017-03-16 | 2017-05-31 | 北京搜狐新媒体信息技术有限公司 | 服务调用链路分析方法及系统 |
CN107181675B (zh) * | 2017-06-20 | 2020-03-03 | 北京奇艺世纪科技有限公司 | 服务调用方法及装置 |
CN109726016A (zh) * | 2017-10-30 | 2019-05-07 | 阿里巴巴集团控股有限公司 | 一种用于分布式系统的链路追踪方法、装置和系统 |
CN108632111A (zh) * | 2018-04-02 | 2018-10-09 | 广东能龙教育股份有限公司 | 一种基于日志的服务链路监控方法 |
CN110007957A (zh) * | 2018-12-17 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 调用链路构建方法、装置及设备 |
-
2019
- 2019-09-25 CN CN201910908943.7A patent/CN110807050B/zh active Active
- 2019-11-13 WO PCT/CN2019/117741 patent/WO2021056739A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080036829A (ko) * | 2006-10-24 | 2008-04-29 | 주식회사 엘지텔레콤 | 쿠폰 서비스 방법 및 이를 이용한 쿠폰 서비스 시스템 |
CN107622084A (zh) * | 2017-08-10 | 2018-01-23 | 深圳前海微众银行股份有限公司 | 日志管理方法、系统以及计算机可读存储介质 |
CN110113200A (zh) * | 2019-04-29 | 2019-08-09 | 平安科技(深圳)有限公司 | 链路系统与日志系统的关联方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021056739A1 (zh) | 2021-04-01 |
CN110807050A (zh) | 2020-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107809331B (zh) | 识别异常流量的方法和装置 | |
CN109873904B (zh) | 消息推送的用户消息状态上报处理方法、装置及存储介质 | |
CN110807050B (zh) | 性能分析方法、装置、计算机设备及存储介质 | |
CN112491602B (zh) | 行为数据的监控方法、装置、计算机设备及介质 | |
CN112162965B (zh) | 一种日志数据处理的方法、装置、计算机设备及存储介质 | |
CN111813573B (zh) | 管理平台与机器人软件的通信方法及其相关设备 | |
CN112052111A (zh) | 服务器异常预警的处理方法、装置、设备及存储介质 | |
CN115277566B (zh) | 数据访问的负载均衡方法、装置、计算机设备及介质 | |
CN111800292B (zh) | 基于历史流量的预警方法、装置、计算机设备及存储介质 | |
CN112463422A (zh) | 物联网故障运维方法、装置、计算机设备及存储介质 | |
CN111258798A (zh) | 监控数据的故障定位方法、装置、计算机设备及存储介质 | |
CN114095567A (zh) | 数据访问请求的处理方法、装置、计算机设备及介质 | |
CN115237724A (zh) | 基于人工智能的数据监控方法、装置、设备及存储介质 | |
CN112860662B (zh) | 自动化生产数据血缘关系建立方法、装置、计算机设备及存储介质 | |
CN114157679A (zh) | 基于云原生分布式应用监控方法、装置、设备及介质 | |
CN111950623B (zh) | 数据稳定性监控方法、装置、计算机设备及介质 | |
CN112181794A (zh) | 页面监听方法、装置、计算机设备及存储介质 | |
CN112214770A (zh) | 恶意样本的识别方法、装置、计算设备以及介质 | |
CN115328764A (zh) | 基于自动化测试的测试代码优化方法及其相关设备 | |
CN114090407A (zh) | 基于线性回归模型的接口性能预警方法及其相关设备 | |
CN110020166A (zh) | 一种数据分析方法及相关设备 | |
CN114281817A (zh) | 一种数据清洗方法、装置、计算机设备及存储介质 | |
CN113254672A (zh) | 异常账号的识别方法、系统、设备及可读存储介质 | |
CN112084408A (zh) | 名单数据筛选方法、装置、计算机设备及存储介质 | |
CN115314404B (zh) | 服务优化方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |