CN115904857A - 一种瓶颈节点的筛选方法、装置及计算机设备 - Google Patents
一种瓶颈节点的筛选方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN115904857A CN115904857A CN202111162464.9A CN202111162464A CN115904857A CN 115904857 A CN115904857 A CN 115904857A CN 202111162464 A CN202111162464 A CN 202111162464A CN 115904857 A CN115904857 A CN 115904857A
- Authority
- CN
- China
- Prior art keywords
- execution
- detected
- node
- duration
- bottleneck
- 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.)
- Pending
Links
Images
Classifications
-
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种瓶颈节点的筛选方法、装置及计算机设备。在该方法中,确定待检测系统的第一执行时长,待检测系统包括至少一条执行路径,每条所述执行路径包括多个执行节点;针对第一待检测执行节点进行延时注入,确定待检测系统的第二执行时长;针对第二待检测执行节点进行延时注入,确定待检测系统的第三执行时长;根据第一执行时长、第二执行时长和第三执行时长,确定第一、第二待检测执行节点是否为可能的瓶颈节点。在上述方法中,对待检测执行节点进行延时注入,获取延时注入前的执行时长和延时注入后的执行时长,从而可以分析延时注入对各执行节点的执行时长的影响,从而确定待检测的执行节是否存在性能瓶颈问题。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种瓶颈节点的筛选方法、装置及计算机设备。
背景技术
瓶颈节点指系统中出现性能瓶颈问题的节点。性能瓶颈可以包括硬件瓶颈(如CPU、内存、磁盘性能问题等)、程序瓶颈(如程序参数配置不合理、数据库设计不合理、程序规划架构不合理等)、网络瓶颈等。对于多个节点并行的情况,特别是涉及到100、1000甚至更多数量的节点时,查找瓶颈节点的复杂性呈指数级增长。
传统的分析技术往往捕捉最耗时的执行节点来作为瓶颈节点,但最耗时的执行节点未必就是瓶颈节点,例如,一个执行节点所执行的步骤为非常繁琐的计算过程,其性能正常时也仍需要消耗较长的时间,这时最耗时的执行节点不一定就是瓶颈节点。因此,应用上述方法进行性能瓶颈的筛查可能会漏掉真正的瓶颈节点。
此外,还可以利用日志确定瓶颈节点。利用日志记录各个执行节点的执行时长,但是这种方式需要了解程序的算法逻辑以确定添加日志记录的正确位置,然后根据日志确定并行节点之间的协作影响,但是利用日志确定瓶颈节点的方法,其本质也是根据执行节点的耗时确定瓶颈节点,同样也会存在无法查找到真正的瓶颈节点的问题。
发明内容
本申请实施例提供一种瓶颈节点的筛选方法、装置及计算机设备,用于实现快速、准确的对瓶颈节点进行筛查。
第一方面,本申请实施例提供一种瓶颈节点的筛选方法,该方法包括:确定待检测系统的第一执行时长,所述待检测系统包括至少一条执行路径,每条所述执行路径包括多个执行节点;所述待检测系统的执行时长为:每条所述执行路径执行完成规定任务所花费的执行时长中的最长执行时长,一条所述执行路径执行完成规定任务所花费的执行时长为该执行路径包括的多个执行节点协作执行完成所述规定任务所花费的时长;针对第一待检测执行节点进行延时注入,确定经过延时注入后所述待检测系统的第二执行时长,所述延时注入为不影响所述第一待检测执行节点的功能实现、影响所述第一待检测执行节点执行所述规定任务的执行时长的操作;针对第二待检测执行节点进行延时注入,确定经过延时注入后所述待检测系统的第三执行时长,所述第一待检测执行节点和所述第二待检测执行节点为所述至少一条执行路径中包括的多个执行节点中任意两个不同的执行节点;根据所述第一执行时长、所述第二执行时长和所述第三执行时长,确定所述第一待检测执行节点和/或所述第二待检测执行节点是否为瓶颈节点。
若仅将耗时最长的执行节点作为可能的瓶颈节点进一步进行分析、诊断,则可能会漏掉真正存在性能瓶颈问题的节点。若针对每个执行节点进行周期性采样,通过机器学习进行瓶颈节点识别,虽然可靠性较高,但其系统开销较大,增加了整体系统的负荷。而在本申请实施例中,在待检测系统疑似出现性能瓶颈问题后,获取系统的执行时长,然后对待检测执行节点进行延时注入,再次获取待检测系统的执行时长,根据延时注入前后的执行时长对待检测执行节点进行分析,从而筛选出可能的瓶颈节点。该实现方式无需大量样本进行机器学习,也无需较大的存储系统支撑,实现简单方便,且不会遗漏真正的瓶颈节点,从而有利于简单、快速的对瓶颈节点进行识别、处理,以提高整体系统的性能。
在一种可能的实现方式中,所述针对第一待检测执行节点进行延时注入,包括:确定所述第一待检测执行节点执行所述规定任务的部分执行步骤或全部执行步骤的第一执行结果;使用所述第一执行结果取代所述规定任务中的所述部分执行步骤或全部执行步骤,以使第一待检测执行节点执行所述规定任务时省略执行所述部分执行步骤或全部执行步骤。
所述针对第二待检测执行节点进行延时注入,包括:确定所述第二待检测执行节点执行所述规定任务的部分执行步骤或全部执行步骤的第二执行结果;使用所述第二执行结果取代所述规定任务中的所述部分执行步骤或全部执行步骤,以使第二待检测执行节点执行所述规定任务时省略执行所述部分执行步骤或全部执行步骤。
在上述实现方式中,可以获取待检测执行节点执行相关步骤的计算结果,并通过该技术结果对相关步骤进行劫持,即,待检测执行节点再次运行相关步骤时,不必再执行这些相关步骤而是直接使用预先计算得到的计算结果。若待检测执行节点遇到性能瓶颈问题而导致计算、处理能力下降,在通过上述方式注入延迟后,将降低其执行时长,从而影响系统的执行时长,从而便于根据系统的第一执行时长、第二执行时长和第三执行时长分析待检测节点是否为可能的瓶颈节点。
在一种可能的实现方式中,所述针对第二待检测执行节点进行延时注入的过程中,可以取消对所述第一待检测执行节点的延时注入。在该实现方式中,每次仅对一个待检测执行节点进行延时注入,从而能够分析每个待检测执行节点对系统性能的影响。在其他一些实施例中,也可以同时对两个及以上的待检测执行节点进行延时注入,从而分析多个待检测执行节点对系统性能的影响。
在一种可能的实现方式中,所述根据所述第一执行时长、所述第二执行时长和所述第三执行时长,确定所述第一待检测执行节点和/或所述第二待检测执行节点是否为可能的瓶颈节点,包括:将所述第二执行时长与所述第一执行时长的第一比值对应所述第一待检测执行节点;将所述第三执行时长与所述第一执行时长的第二比值对应所述第二待检测执行节点;确定所述第一比值和所述第二比值中较小的比值所对应的待检测执行节点为瓶颈节点的可能性大。在该实现方式中,通过求取第二执行时长与第一执行时长的比值、第三执行时长与第一执行时长的比值,对延时注入后待检测执行节点的执行时长对系统整体执行时长的影响进行分析,从而确定待检测执行节点是否为可能的瓶颈节点。当待检测的执行节点数量较多时,可以对各待检测执行节点对应的比值进行排序,比值越小,说明其对应的待检测执行节点为瓶颈节点的可能性越大,从而便于筛选出可能的瓶颈节点进行后续分析、判别和处理。
再一种可能的实现方式中,所述根据所述第一执行时长、所述第二执行时长和所述第三执行时长,确定所述第一待检测执行节点、所述第二待检测执行节点是否为可能的瓶颈节点,包括:将所述第二执行时长与所述第一执行时长的第一绝对差值对应所述第一待检测执行节点;将所述第三执行时长与所述第一执行时长的第二绝对差值对应所述第二待检测执行节点;确定所述第一绝对差值和所述第二绝对差值中较小的绝对差值所对应的待检测执行节点为瓶颈节点的可能性大。在该实现方式中,通过求取第二执行时长与第一执行时长的绝对差值、第三执行时长与第一执行时长的绝对差值,对延时注入后待检测执行节点的执行时长对系统整体执行时长的影响进行分析,从而确定待检测执行节点是否为可能的瓶颈节点。当待检测的执行节点数量较多时,可以对各待检测执行节点对应的绝对差值进行排序,绝对差值越大,说明其对应的待检测执行节点为瓶颈节点的可能性越大,从而便于筛选出可能的瓶颈节点进行后续分析、判别和处理。
第二方面,本申请实施例提供一种瓶颈节点的筛选装置,所述装置包括执行上述第一方面以及第一方面的任意一种可能的实现方式的模块/单元;这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。
示例性的,该装置包括:执行时长获取模块,用于确定待检测系统的第一执行时长,所述待检测系统包括至少一条执行路径,每条所述执行路径包括多个执行节点,所述待检测系统的执行时长为:每条所述执行路径执行完成规定任务所花费的执行时长中的最长执行时长,一条所述执行路径执行完成规定任务所花费的执行时长为该执行路径包括的多个执行节点协作执行完成所述规定任务所花费的时长;延时注入模块,用于针对第一待检测执行节点进行延时注入,所述延时注入为不影响所述第一待检测执行节点的功能实现、影响所述第一待检测执行节点执行所述规定任务的执行时长的操作;所述执行时长获取模块还用于:确定经过对所述第一待检测执行节点延时注入后所述待检测系统的第二执行时长;所述延时注入模块还用于:针对第二待检测执行节点进行延时注入;所述执行时长获取模块还用于:确定经过对所述第二待检测执行节点延时注入后所述待检测系统的第三执行时长,所述第一待检测执行节点和所述第二待检测执行节点为所述至少一条执行路径中包括的多个执行节点中任意两个不同的执行节点;瓶颈节点筛选模块,用于根据所述第一执行时长、所述第二执行时长和所述第三执行时长,确定所述第一待检测执行节点和/或所述第二待检测执行节点是否为可能的瓶颈节点。
第三方面,本申请实施例提供一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器存储有计算机程序;所述处理器用于调用所述存储器中存储的计算机程序,以执行如第一方面及第一方面任一实现方式所述的瓶颈节点筛选方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面及第一方面任一实现方式所述的瓶颈节点筛选方法。
上述第二方面至第四方面可以达到的技术效果,可以参照上述第一方面中以及第一方面中的任意可能实现方式可以达到的技术效果描述,这里不再重复赘述。
附图说明
图1为本申请实施例提供的瓶颈节点筛选方法的流程示意图;
图2为本申请实施例提供的待检测系统示意图;
图3为本申请实施例提供的瓶颈节点筛选装置的流程示意图;
图4为本申请实施例提供的计算机设备的流程示意图。
具体实施方式
当系统应对大量访问、数据处理时,系统的性能瓶颈问题容易凸显。然而在系统中往往包括数量较多的执行节点,快速判断性能瓶颈发生在哪个执行节点上,是优化系统的重要步骤。
例如,目前分布式云计算系统能够提供大量的并发访问,然而,大量的、并发的访问容易导致服系统出现由软件故障、意外工作负载或硬件故障引起的性能问题。分布式云计算系统通常包括多种用于实现不同功能的程序组件(每个程序组件可作为一个执行节点),出于对容错、负载平衡和弹性负载等因素的考量,可以为每个程序组件配置大量副本组件,这样就使得分布式云计算系统中执行节点的数量非常多。
一种适用于上述分布式云计算系统的确定瓶颈节点的方式是,每个程序组件(包括副本组件)以固定的频率采样性能数据,即在每个程序组件执行规定任务时生成一条日志,该日志既包含了程序组件采样性能数据时的正常请求或延迟异常请求。日志的数据结构可以如表1所示。
表1
Host | Timestamp | RequestID | MID | Method | Flag |
其中,Host表示程序组件所在的执行节点;Timestamp表示此条日志的生成时间;RequestID表示请求者(即采用性能数据的程序组件)的标识符;MID表示请求跟踪目标的标识符,根据跟踪目标的标识符可以恢复执行任务的顺序;Method表示执行的任务;Flag表示此日志记录的任务的类型。
在进行采样时,可以创建m*n的矩阵M,其中,m表示调用树的数量,n表示一个调用树中调用方法的数量,M[i][j]代表深度优先遍历第i个调用树的第j个调用方法的执行时长。通过计算机学习算法,自动学习每种调用方法的特征(包括执行时长),从而根据采样获得的执行时长,识别哪些调用方法存在异常以及执行该异常调用方法所在的程序组件。
在上述方法中,通过以固定的频率采样方法调用的日志数据,测量其调用方法的执行时长,通过机器学习实现瓶颈节点的识别。然而,机器识别算法需要大量的样本,在样本数量不足的情况下,则需要人为识别、标记这些执行异常的程序组件;上述识别异常的方法对于日志的采集和存储有较大的性能开销,通常需要单独的存储系统,采集样本以及学习的过程可能也需要一个独立系统来支撑。由此可见,上述瓶颈节点识别方式,虽然准确性提高,但需要大量额外的性能开销。
有鉴于此,本申请实施例提供一种瓶颈节点的筛选方法,用于解决识别不准确或性能开销较大的问题。本申请实施例提供的瓶颈节点筛选方法,可以应用于上述分布式云计算系统,或者其他包含多个执行节点的计算系统中。
参见图1,为本申请实施例提供的一种瓶颈节点筛选方法的流程示意图,在本申请实施例提供的瓶颈节点筛选方法,可以通过安装在计算机设备中的应用程序实现,例如,在计算机设备中安装用于实现瓶颈节点筛选的客户端,用户可以通过对客户端的操作,发起执行瓶颈节点筛选的过程。而执行该应用程序的计算机设备,可以是待检测系统之外的计算机设备,或者,也可以是待检测系统内的某个计算机设备。该方法可以包括以下步骤:
步骤101、确定待检测系统的第一执行时长。
其中,待检测系统包括至少一条执行路径,每条执行路径可以包括多个执行节点。可选的,若待检测系统包括多条执行路径,则各条执行路径的起始执行节点可以为一个共同的执行节点,且各条执行路径的终止执行节点也可以为一个共同的执行节点。例如,在图2所示的具体实施例中,执行节点S1、S2、S3以及S11可以形成一条执行路径,执行节点S1、S4、S5、S6、S7以及S11可以形成一条执行路径,执行节点S1、S8、S9、S10以及S11也可以形成一条执行路径,其中,S1即为三条执行路径的共同起始执行节点,S11即为三条执行路径的终止执行节点。
在每条执行路径中,各执行节点按照设定的执行方向执行,比如执行节点S1、S2、S3以及S11形成的执行路径中,可以是执行节点S1执行完任务,执行节点S2再继续执行,以此类推,直至执行节点S11最后完成该条执行路径的任务为止。
应理解,上述各条执行路径中都是以链式路径存在的,即多个执行节点构成链状的路径,而不构成环路状的执行路径。
若待检测系统仅包含一条执行路径时,则该系统的执行时长即为该执行路径的执行时间。一条执行路径的执行时长可以为该执行路径中各执行节点完成规定任务(包括但不限于方法调用、调用返回、数据计算等)所花费的总时长。若待检测系统包含多条执行路径,则可以分别确定每条执行路径的执行时长,并将多条执行路径中最长的执行时长作为该待检测系统的执行时长。
待检测系统可以为已经确定存在性能瓶颈问题的系统,例如,一个请求任务在分布式计算系统中正常情况下,1s内即可得到请求结果,但当前运行3s后才得到请求结果,可以认为该系统遇到性能瓶颈,则可以对该系统采用本申请实施例提供的瓶颈节点筛选方法进行瓶颈节点的筛选。
上述执行节点可以是云计算系统中物理上相互独立的服务器、计算机等,也可以是虚拟的计算机,或者,也可以是一个组件、功能模块等。
步骤102、针对第一待检测执行节点进行延时注入,确定经过延时注入后待检测系统的第二执行时长。
延时注入,指的是在原有的执行程序中注入影响其执行规定任务的执行时长、但不影响其功能实现的程序。延时注入的算法多种多样,不同的算法对执行时长的影响也有所不同,虽然称为延时注入,但有些延时注入的算法会增加执行节点的执行时长,而有些延时注入的算法则会缩短执行节点的执行时长。
其中,第一待检测执行节点可以为待检测系统中任一执行路径中的任一执行节点。具体的,可以将待检测系统中的每个执行节点依次作为待检测执行节点,识别其是否为可能的瓶颈节点,或者,也可以对待检测系统中的各执行节点进行初步筛选,将有可能是瓶颈节点的执行节点依次作为待检测执行节点。例如,可以将待检测系统中耗时较长(或耗时超过设定预设时长)的执行节点作为待检测执行节点。
步骤101中的第一执行时长,即为待检测系统中任一执行节点均没有经过延时注入时该待检测系统的执行时长。而步骤102中的第二执行时长,为在第一待检测执行节点经过延时注入后,该待检测系统的执行时长。如前所述,若待检测系统包含有多条执行路径,则其第二执行时长为进行延时注入后各执行路径的执行时长中最长的执行时长。
步骤103、针对第二待检测执行节点进行延时注入,确定经过延时注入后待检测系统的第三执行时长。
第二待检测执行节点可以为待检测系统中除上述第一待检测执行节点之外的任意执行节点,第二待检测执行节点可以与第一待检测执行节点属于相同的执行路径,也可以属于不同的执行路径。第三执行时长,即为在第二待检测执行节点经过延时注入后,该待检测系统的执行时长。如前所述,若待检测系统包含有多条执行路径,则其第三执行时长为进行延时注入后各执行路径的执行时长中最长的执行时长。
在执行上述步骤103时,可以在对第二待检测执行节点进行延时注入的过程中,取消对第一待检测执行节点的延时注入,即,每次仅对一个待检测执行节点进行延时注入,除第二待检测执行节点外没有其他执行节点被同时执行注入延时,从而便于更加准确判断延时注入对第二待检测执行节点的影响。
当然,也可以同时对第一待检测执行节点和第二待检测执行节点进行延时注入,以确定延时注入对第一待检测执行节点、第二待检测执行节点的影响,或检测对第一待检测执行节点、第二待检测执行节点进行延时注入对待检测系统的影响。
步骤104、根据上述第一执行时长、上述第二执行时长和上述第三执行时长,确定第一待检测执行节点和/或第二待检测执行节点是否为可能的瓶颈节点。
通过对第一待检测执行节点、第二待检测执行进行延时注入后确定系统分别对应的执行时长,与进行延时注入之前的执行时长进行分析,可以确定出延时注入对待检测执行节点的性能影响,并根据延时注入对待检测执行节点的性能影响,判断待检测执行节点是否为可能的瓶颈节点。例如,判断待检测执行节点经过延时注入后,是否与正常情况下延时注入所带来的影响一致,若一致,则可以认为该待检测执行节点正常,若不一致,则可以认为该待检测的执行节点为可能的瓶颈节点。在确定待检测执行节点为可能的瓶颈节点后,还可以进一步对可能的瓶颈节点进行更加精准的瓶颈节点判别。
最耗时的执行节点未必就是瓶颈节点,可能是由于其执行的步骤本身较为复杂、耗时较长;瓶颈节点由于带宽、访问数量、CPU使用率等性能因素而导致其速度变慢、耗时较长,但其执行时长未必是最长的。因此,若仅将耗时最长的执行节点作为可能的瓶颈节点进一步进行分析、诊断,则可能会漏掉真正存在性能瓶颈问题的节点。若针对每个执行节点进行周期性采样,通过机器学习进行瓶颈节点识别,虽然可靠性较高,但其系统开销较大,增加了整体系统的负荷。而在本申请实施例中,在待检测系统疑似出现性能瓶颈问题后,获取系统的执行时长,然后对待检测执行节点进行延时注入,再次获取待检测系统的执行时长,根据延时注入前后的执行时长对待检测执行节点进行分析,从而筛选出可能的瓶颈节点。该实现方式无需大量样本进行机器学习,也无需较大的软、硬件存储系统支撑,实现在不改变待检测系统原有逻辑的情况下,简单方便地识别出可能的瓶颈节点,且不会遗漏真正的瓶颈节点,从而有利于简单、快速的对瓶颈节点进行识别和处理,以提高整体系统的性能。
在一种可能的实现方式中,上述步骤102中对第一待检测执行节点进行延时注入,可以是先获取第一待检测执行节点执行规定任务的部分或全部步骤的第一执行结果,并使用该第一执行结果取代第一待检测执行节点中相应的部分或全部执行步骤,当再次执行第一待检测执行节点时,省略执行所述部分执行步骤或全部执行步骤,直接获取到相应的执行结果。类似的,在对第二待检测执行节点进行延时注入时,也可以先获取第二待检测执行节点所执行规定任务的部分或全部步骤的第二执行结果,并使用第二执行结果取代第二待检测执行节点中相应的部分或全部执行步骤,当再次执行第二检测执行节点时,省略执行所述部分执行步骤或全部执行步骤,直接获取到相应的执行结果。例如,可以确定出待检测执行节点中复杂的计算过程,并确定出复杂计算过程所对应的计算结果;然后通过计算结果对复杂的计算过程进行劫持,即延时注入的执行节点再次执行任务时,可以不再执行上述复杂的计算过程,而是直接输出计算结果。
具体的,可以利用面向切面编程(aspect oriented programming,AOP)以声明的方式对待检测执行节点进行延迟注入。
按照上述方式对待检测执行节点进行延时注入后,可以降低待检测执行节点的调用、获取或计算等成本,缩短了待检测执行节点的执行时长。例如,若待检测执行节点的CPU利用率已经达到了较高水平而导致其运算速度降低,或者待检测执行节点遇到带宽限制了其访问数量等性能瓶颈问题,经过上述延时注入后,将有效缓解待检测执行节点的性能瓶颈问题,使得待检测执行节点的执行时长降低。若对待检测执行节点进行延时注入后,使得待检测系统的执行时长也降低,则可以认为待检测执行节点的性能问题是影响待检测系统性能的较大因素,可以将待检测执行节点作为可能的瓶颈节点。若对待检测执行节点进行延时注入后,待检测系统的执行时长与延时注入之前无显著差别,则可以认为待检测执行节点的性能不是影响待检测系统性能的主要原因,可以认为待检测执行节点为瓶颈节点的可能性较小。
在一种可能的实现方式中,在执行上述步骤104时,可以求取第二执行时长与第一执行时长的比值,记为第一比值;求取第三执行时长与第一执行时长的比值,记为第二比值;然后根据第一比值和第二比值,确定第一待检测执行节点、第二待检测执行时长是否为可能的瓶颈节点。例如,依次对第一待检测执行节点、第二待检测执行节点注入负的延时,并依次得到待检测系统的第二执行时长和第三执行时长;若第一待检测执行节点为瓶颈节点,即第一待检测执行节点的性能问题是影响待检测系统性能的重要因素,在对第一待检测执行节点注入的为负的延时后,得到的第二执行时长将显著小于第一执行时长,则得到的第一比值小于1,否则,得到的第一比值与1较为接近;若第二待检测执行节点为瓶颈节点,则得到的第三执行时长将显著小于第一执行时长,则得到的第二比值小于1,否则,得到的第二比值与1较为接近。由此可见,可以根据第一比值、第二比值确定出第一待检测执行节点、第二待检测执行节点是否为可能的瓶颈节点。
具体的,当待检测系统包括的待检测执行节点仅包括第一待检测执行节点和第二待检测执行节点时,可以将得到的第一比值与第二比值进行比较,其中,第一比值对应第一待检测执行节点,第二比值对应第二待检测执行节点。若第一比值小于第二比值,则说明第一待执行节点的性能问题对待检测系统的性能问题影响更大,即,第一待检测执行节点为瓶颈节点的可能性大于第二待检测执行节点为瓶颈节点的可能性。进一步的,可以先对第一待检测执行节点进行更加精准的瓶颈节点判别,确定其是否为瓶颈节点;若不是,再对第二待检测执行节点进行瓶颈节点的判别。若第二比值小于第一比值,则说明第二待检测执行节点的性能问题对待检测系统的性能问题影响更大,即,第二待检测执行节点为瓶颈节点的可能性大于一待检测执行节点为瓶颈节点的可能性。进一步的,可以先对将第二待检测执行节点进行更加精准的瓶颈节点判别,确定其是否为瓶颈节点;若不是,再对第一待检测执行节点进行瓶颈节点的判别。或者,也可能将第一比值与第二比值与预设的阈值进行比较,将小于或等于预设阈值的比值所对应的待检测执行节点作为可能的瓶颈节点。或者,将最小的且小于或等于预设阈值的比值所对应的待检测执行节点作为可能的瓶颈节点。
当待检测系统包括的待检测执行节点的数量为M,且M大于2时,则可以确定出每个待检测执行节点所对应的比值,从而得到M个比值,对该M个比值按照从小到大进行排序,排序越靠前的比值所对应的待检测执行节点为瓶颈节点的可能性越大。相应的,可以按照排序,先对最小的比值所对应的待检测执行节点,进行更加精准的瓶颈节点判别,若不是,再对第二小的比值所对应的待检测执行节点间判别,以此类推。或者,也可以将得到的M个比值与预设的阈值进行比较,将小于或等于预设阈值的比值所对应的待检测执行节点作为可能的瓶颈节点。或者,将最小的前K个且大于或等于预设阈值的比值所对应的待检测执行节点作为可能的瓶颈节点。
在另一种可能的实现方式中,在执行上述步骤104时,还可以求取第二执行时长与第一执行时长的绝对差值,记为第一绝对差值;求取第三执行时长与第一执行时长的绝对差值,记为第二绝对差值;然后根据第一绝对差值和第二绝对差值,确定第一待检测执行节点、第二待检测执行时长是否为可能的瓶颈节点。例如,依次对第一待检测执行节点、第二待检测执行节点注入负的延时,并依次得到待检测系统的第二执行时长和第三执行时长;若第一待检测执行节点为瓶颈节点,即第一待检测执行节点的性能问题是影响待检测系统性能的重要因素,在对第一待检测执行节点注入的为负的延时后,得到的第二执行时长将显著小于第一执行时长,则得到的第一绝对差值较大,否则,得到的第一绝对差值较小;若第二待检测执行节点为瓶颈节点,则得到的第三执行时长将显著小于第一执行时长,则得到的第二绝对差值较大,否则,得到的第二绝对差值较小。由此可见,可以根据第一绝对差值、第二绝对差值确定出第一待检测执行节点、第二待检测执行节点是否为可能的瓶颈节点。
具体的,当待检测系统包括的待检测执行节点仅包括第一待检测执行节点和第二待检测执行节点时,可以将得到的第一绝对差值与第二绝对差值进行比较,其中,第一绝对差值对应第一待检测执行节点,第二绝对差值对应第二待检测执行节点。若第一绝对差值大于第二绝对差值,则说明第一待执行节点的性能问题对待检测系统的性能问题影响更大,即,第一待检测执行节点为瓶颈节点的可能性大于第二待检测执行节点为瓶颈节点的可能性。进一步的,可以先对第一待检测执行节点进行更加精准的瓶颈节点判别,确定其是否为瓶颈节点;若不是,再对第二待检测执行节点进行瓶颈节点的判别。若第二比值大于第一比值,则说明第二待检测执行节点的性能问题对待检测系统的性能问题影响更大,即,第二待检测执行节点为瓶颈节点的可能性大于第一待检测执行节点为瓶颈节点的可能性。进一步的,可以先对将第二待检测执行节点进行更加精准的瓶颈节点判别,确定其是否为瓶颈节点;若不是,再对第一待检测执行节点进行瓶颈节点的判别。或者,将最大的且大于或等于预设阈值的绝对差值所对应的待检测执行节点作为可能的瓶颈节点。
当待检测系统包括的待检测执行节点的数量为M,且M大于2时,则可以确定出每个待检测执行节点所对应的绝对差值,从而得到M个绝对差值,对该M个绝对差值按照从大到小进行排序,排序越靠前的绝对差值所对应的待检测执行节点,为瓶颈节点的可能性越大。相应的,可以按照排序,先对最大的绝对差值所对应的待检测执行节点,进行更加精准的瓶颈节点判别,若不是,再对第二大的比值所对应的待检测执行节点间判别,以此类推。或者,也可以将得到的M个绝对差值与预设的阈值进行比较,将大于或等于预设阈值的比值所对应的待检测执行节点作为可能的瓶颈节点。或者,将最大的前K个且大于或等于预设阈值的绝对差值所对应的待检测执行节点作为可能的瓶颈节点。
此外,由于待检测系统可以是已经确定出现性能瓶颈问题的系统,此时需要从待检测系统的待检测执行节点中选择出至少一个可能的瓶颈节点进行后续分析、判定,此时,也可以直接对第二执行时长和第三执行时长进行比较,其中,第二执行时长对应第一待检测执行节点,第三执行时长对于第二待检测执行时长,较短的执行时长所对应的待检测执行节点为瓶颈节点的可能性较大。
为了便于理解本申请上述实施例提供的瓶颈节点识别方法,下面结合图2进行举例说明。
在图2所示的待检测系统中,每个圆圈代表一个执行节点,各执行节点可以构成一幅有向无环图。如图所示,在该有向无环图中共包括3条执行路径,其中,执行路径1为:S1→S2→S3→S11,执行路径2为:S1→S4→S5→S6→S7→S11,执行路径3为:S1→S8→S9→S10→S11;这3条路径的起始执行节点均为S1,终止执行节点均为S11。
在确定出图2所示的待检测系统存在性能问题后,为了确定该待检测系统中各执行节点中哪个或哪些执行节点为瓶颈节点,则可以对每个执行节点依次进行延迟注入,并确定延迟注入后系统的执行时长,从而确定哪个执行节点可能为瓶颈节点。
具体的,可以先确定各执行路径的第一执行时长,执行路径1的第一执行时长(即依次执行S1、S2、S3、S11的总时间)记为t(p1,0),执行路径2的第一执行时长(即依次执行S1、S4、S5、S6、S7、S11的总时间)记为t(p2,0),执行路径3的第一执行时长(即依次执行S1、S8、S9、S10、S11的总时间)记为t(p3,0)。则该系统的第一执行时长为max(t(p1,0),t(p2,0),t(p3,0))。
然后,可以先对执行节点S1进行延时注入,并确定各执行路径的第二执行时长,分别记为:t(p1,l1),t(p2,l1),t(p3,l1)。根据公式(1),求取对执行节点S1进行延时注入后的第一比值f(s1),第一比值对应执行节点S1。
对执行节点S2进行延时注入,并确定各执行路径的第三执行时长,分别记为:t(p1,l2),t(p2,l2),t(p3,l2)。根据公式(2),求取对执行节点S2进行延时注入后的第二比值f(s2),第二比值对应执行节点S2。
对执行节点S3进行延时注入,并确定各执行路径的第四执行时长,分别记为:t(p1,l3),t(p2,l3),t(p3,l3)。根据公式(3),求取对执行节点S3进行延时注入后的第三比值f(s3),第三比值对应执行节点S3。
以此类推,直到对执行节点S11进行延时注入,并确定各执行节点的第十二执行时长,分别记为:t(p1,l11),t(p2,l11),t(p3,l11),并求取对执行节点S11进行延时注入后的第十一比值f(s11),第十一比值对应执行节点S11。
然后,对得到的f(s1)、f(s2)、f(s3)、…、f(s11)按照从小到大依次排序,然后根据排序,依次对执行节点进行瓶颈节点的精准判别。
基于相同的技术构思,本申请实施例还提供一种瓶颈节点筛选装置,用于实现上述方法实施例。图3为本申请实施例提供的瓶颈节点筛选装置的结构示意图,如图所示,包装置包括:执行时长获取模块301、延时注入模块302以及瓶颈节点筛选模块303。
具体的,执行时长获取模块301,用于确定待检测系统的第一执行时长,所述待检测系统包括至少一条执行路径,每条所述执行路径包括多个执行节点,所述待检测系统的执行时长为每条所述执行路径的执行时长中最长的执行时长。
延时注入模块302,用于针对第一待检测执行节点进行延时注入,所述延时注入为不影响所述第一待检测执行节点的功能实现,但影响所述第一待检测执行节点执行时长的操作。
执行时长获取模块301还用于:确定经过对所述第一待检测执行节点延时注入后所述待检测系统的第二执行时长。
延时注入模块302还用于:针对第二待检测执行节点进行延时注入。
执行时长获取模块301还用于:确定经过对所述第二待检测执行节点延时注入后所述待检测系统的第三执行时长。
瓶颈节点筛选模块303,用于根据所述第一执行时长、所述第二执行时长和所述第三执行时长,确定所述第一待检测执行节点、所述第二待检测执行节点是否为可能的瓶颈节点。
在一种可能的实现方式中,所述延时注入模块302,在针对第一待检测执行节点进行延时注入时,具体用于:确定所述第一待检测执行节点中部分执行步骤或全部执行步骤的第一执行结果;将所述第一执行结果取代所述部分执行步骤或全部执行步骤,以使第一待检测执行节点被执行时直接得到所述第一执行结果;所述延时注入模块302,在针对第二待检测执行节点进行延时注入时,具体用于:确定所述第二待检测执行节点中部分执行步骤或全部执行步骤的第二执行结果;将所述第二执行结果取代所述部分执行步骤或全部执行步骤,以使第二待检测执行节点被执行时直接得到所述第二执行结果。
在一种可能的实现方式中,所述延时注入模块302,在针对第二待检测执行节点进行延时注入时,具体用于:针对所述第二待检测执行节点进行延时注入,取消对所述第一待检测执行节点的延时注入。
在一种可能的实现方式中,所述瓶颈节点筛选模块303,具体用于:根据所述第二执行时长与所述第一执行时长的比值、所述第三执行时长与所述第一执行时长的比值,确定所述第一待检测执行节点、所述第二待检测执行节点是否为可能的瓶颈节点。
在一种可能的实现方式中,所述瓶颈节点筛选模块303,具体用于:对所述第二执行时长与所述第一执行时长的第一比值和所述第三执行时长与所述第一执行时长的第二比值进行大小排序,所述第一比值对应所述第一待检测执行节点,所述第二比值对应所述第二待检测执行节点;确定较小的比值所对应的待检测执行节点为瓶颈节点的可能性,高于较大的比值所对应的待检测执行节点为瓶颈节点的可能性。
在一种可能的实现方式中,所述瓶颈节点筛选模块303,具体用于:根据所述第一执行时长与所述第二执行时长的绝对差值、所述第一执行时长与所述第三执行时长的绝对差值,确定所述第一待检测执行节点、所述第二待检测执行节点是否为可能的瓶颈节点。
在一种可能的实现方式中,所述瓶颈节点筛选模块303,具体用于:对所述第一执行时长与所述第二执行时长的第一绝对差值和所述第一执行时长与所述第三执行时长的第二绝对差值进行大小排序,所述第一绝对差值对应所述第一待检测执行节点,所述第二绝对差值对应所述第二待检测执行节点;确定较大的绝对差值所对应的待检测执行节点为瓶颈节点的可能性,高于较小的绝对差值所对应的待检测执行节点为瓶颈节点的可能性。
基于相同的技术构思,本申请实施例还提供一种计算机设备,用于实现上述方法实施例。图4为本申请实施例提供的计算机设备的结构示意图,如图所示,该计算机设备包括处理器401,以及与处理器401连接的存储器402。
处理器401可以是通用处理器,微处理器,特定集成电路(application specificintegrated circuit,ASIC),现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件,分立门或者晶体管逻辑器件,或一个或多个用于控制本申请方案程序执行的集成电路等。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器402,用于存储程序指令和/或数据,以使处理器401调用存储器402中存储的指令和/或数据,实现上述瓶颈节点筛选方法。存储器1003可以是只读存储器(read-onlymemory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器403可以是独立存在,例如片外存储器,通过通信总线与处理器401相连接。存储器403也可以和处理器401集成在一起。
进一步的,该计算机设备还可以包括通信接口403,用于与其他设备进行通信,例如,当执行节点为独立的计算机、服务器时,本申请实施例提供的用于对瓶颈节点进行筛选的计算机设备可以通过通信接口与执行节点进行通信。进一步的,还可以包括通信总线404,通信总线404可包括一通路,在上述组件之间传送信息。
基于相同的技术构思,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可读指令,当所述计算机可读指令在计算机上运行时,使得上述方法实施例中编译器所执行的步骤被执行。
基于相同的技术构思,本申请实施例提供还一种包含指令的计算机程序产品,当其在计算机上运行时,使得上述方法实施例中编译器所执行的步骤被执行。
需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (12)
1.一种瓶颈节点的筛选方法,其特征在于,所述方法包括:
确定待检测系统的第一执行时长,所述待检测系统包括至少一条执行路径,每条所述执行路径包括多个执行节点;所述待检测系统的执行时长为:每条所述执行路径执行完成规定任务所花费的执行时长中的最长执行时长,一条所述执行路径执行完成规定任务所花费的执行时长为该执行路径包括的多个执行节点协作执行完成所述规定任务所花费的时长;
针对第一待检测执行节点进行延时注入,确定经过延时注入后所述待检测系统的第二执行时长,所述延时注入为不影响所述第一待检测执行节点的功能实现、影响所述第一待检测执行节点执行所述规定任务的执行时长的操作;
针对第二待检测执行节点进行延时注入,确定经过延时注入后所述待检测系统的第三执行时长,所述第一待检测执行节点和所述第二待检测执行节点为所述至少一条执行路径中包括的多个执行节点中任意两个不同的执行节点;
根据所述第一执行时长、所述第二执行时长和所述第三执行时长,确定所述第一待检测执行节点和/或所述第二待检测执行节点是否为瓶颈节点。
2.根据权利要求1所述的方法,其特征在于,所述针对第一待检测执行节点进行延时注入,包括:
确定所述第一待检测执行节点执行所述规定任务的部分执行步骤或全部执行步骤的第一执行结果;
将所述第一执行结果取代所述规定任务中的所述部分执行步骤或全部执行步骤,以使第一待检测执行节点执行所述规定任务时省略执行所述部分执行步骤或全部执行步骤;
所述针对第二待检测执行节点进行延时注入,包括:
确定所述第二待检测执行节点执行所述规定任务的部分执行步骤或全部执行步骤的第二执行结果;
将所述第二执行结果取代所述规定任务中的所述部分执行步骤或全部执行步骤,以使第二待检测执行节点执行所述规定任务时省略执行所述部分执行步骤或全部执行步骤。
3.根据权利要求1或2所述的方法,其特征在于,所述针对第二待检测执行节点进行延时注入,包括:
针对所述第二待检测执行节点进行延时注入的过程中,取消对所述第一待检测执行节点的延时注入。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述第一执行时长、所述第二执行时长和所述第三执行时长,确定所述第一待检测执行节点和/或所述第二待检测执行节点是否为瓶颈节点,包括:
将所述第二执行时长与所述第一执行时长的第一比值对应所述第一待检测执行节点;
将所述第三执行时长与所述第一执行时长的第二比值对应所述第二待检测执行节点;
确定所述第一比值和所述第二比值中较小的比值所对应的待检测执行节点为瓶颈节点的可能性大。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述第一执行时长、所述第二执行时长和所述第三执行时长,确定所述第一待检测执行节点和/或所述第二待检测执行节点是否为瓶颈节点,包括:
将所述第二执行时长与所述第一执行时长的第一绝对差值对应所述第一待检测执行节点;
将所述第三执行时长与所述第一执行时长的第二绝对差值对应所述第二待检测执行节点;
确定所述第一绝对差值和所述第二绝对差值中较小的绝对差值所对应的待检测执行节点为瓶颈节点的可能性大。
6.一种瓶颈节点的筛选装置,其特征在于,所述装置包括:
执行时长获取模块,用于确定待检测系统的第一执行时长,所述待检测系统包括至少一条执行路径,每条所述执行路径包括多个执行节点,所述待检测系统的执行时长为:每条所述执行路径执行完成规定任务所花费的执行时长中的最长执行时长,一条所述执行路径执行完成规定任务所花费的执行时长为该执行路径包括的多个执行节点协作执行完成所述规定任务所花费的时长;
延时注入模块,用于针对第一待检测执行节点进行延时注入,所述延时注入为不影响所述第一待检测执行节点的功能实现、影响所述第一待检测执行节点执行所述规定任务的执行时长的操作;
所述执行时长获取模块还用于:确定经过对所述第一待检测执行节点延时注入后所述待检测系统的第二执行时长;
所述延时注入模块还用于:针对第二待检测执行节点进行延时注入;
所述执行时长获取模块还用于:确定经过对所述第二待检测执行节点延时注入后所述待检测系统的第三执行时长,所述第一待检测执行节点和所述第二待检测执行节点为所述至少一条执行路径中包括的多个执行节点中任意两个不同的执行节点;
瓶颈节点筛选模块,用于根据所述第一执行时长、所述第二执行时长和所述第三执行时长,确定所述第一待检测执行节点和/或所述第二待检测执行节点是否为可能的瓶颈节点。
7.根据权利要求6所述的装置,其特征在于,所述延时注入模块,在针对第一待检测执行节点进行延时注入时,具体用于:
确定所述第一待检测执行节点执行所述规定任务的部分执行步骤或全部执行步骤的第一执行结果;
将所述第一执行结果取代所述规定任务中的所述部分执行步骤或全部执行步骤,以使第一待检测执行节点执行所述规定任务时省略执行所述部分执行步骤或全部执行步骤;
所述延时注入模块,在针对第二待检测执行节点进行延时注入时,具体用于:
确定所述第二待检测执行节点执行所述规定任务的部分执行步骤或全部执行步骤的第二执行结果;
将所述第二执行结果取代所述规定任务中的所述部分执行步骤或全部执行步骤,以使第二待检测执行节点执行所述规定任务时省略执行所述部分执行步骤或全部执行步骤。
8.根据权利要求6或7所述的装置,其特征在于,所述延时注入模块,在针对第二待检测执行节点进行延时注入时,具体用于:
针对所述第二待检测执行节点进行延时注入的过程中,取消对所述第一待检测执行节点的延时注入。
9.根据权利要求6-8任一项所述的装置,其特征在于,所述瓶颈节点筛选模块,具体用于:
将所述第二执行时长与所述第一执行时长的第一比值对应所述第一待检测执行节点;
将所述第三执行时长与所述第一执行时长的第二比值对应所述第二待检测执行节点;
确定所述第一比值和所述第二比值中较小的比值所对应的待检测执行节点为瓶颈节点的可能性大。
10.根据权利要求6-8任一项所述的装置,其特征在于,所述瓶颈节点筛选模块,具体用于:
将所述第二执行时长与所述第一执行时长的第一绝对差值对应所述第一待检测执行节点;
将所述第三执行时长与所述第一执行时长的第二绝对差值对应所述第二待检测执行节点;
确定所述第一绝对差值和所述第二绝对差值中较小的绝对差值所对应的待检测执行节点为瓶颈节点的可能性大。
11.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
所述存储器存储有计算机程序;
所述处理器用于调用所述存储器中存储的计算机程序,以执行权利要求1-5任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111162464.9A CN115904857A (zh) | 2021-09-30 | 2021-09-30 | 一种瓶颈节点的筛选方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111162464.9A CN115904857A (zh) | 2021-09-30 | 2021-09-30 | 一种瓶颈节点的筛选方法、装置及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115904857A true CN115904857A (zh) | 2023-04-04 |
Family
ID=86495263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111162464.9A Pending CN115904857A (zh) | 2021-09-30 | 2021-09-30 | 一种瓶颈节点的筛选方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115904857A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117573491A (zh) * | 2023-11-16 | 2024-02-20 | 北京优特捷信息技术有限公司 | 一种性能瓶颈的定位方法、装置、设备及存储介质 |
-
2021
- 2021-09-30 CN CN202111162464.9A patent/CN115904857A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117573491A (zh) * | 2023-11-16 | 2024-02-20 | 北京优特捷信息技术有限公司 | 一种性能瓶颈的定位方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7797658B2 (en) | Multithreaded static timing analysis | |
US7698690B2 (en) | Identifying code that wastes time performing redundant computation | |
CN111881023B (zh) | 一种基于多模型对比的软件老化预测方法及装置 | |
WO2014074167A1 (en) | Purity analysis using white list/black list analysis | |
JP7405773B2 (ja) | マルチコア相互接続のレベル2キャッシュへのアクセスを検証する方法 | |
US10754744B2 (en) | Method of estimating program speed-up in highly parallel architectures using static analysis | |
CN111563014A (zh) | 接口服务性能测试方法、装置、设备和存储介质 | |
CN107315961A (zh) | 程序漏洞检测方法及装置、计算设备、存储介质 | |
US11847446B2 (en) | Predictive build quality assessment | |
US9921951B2 (en) | Optimizations for regression tracking and triaging in software testing | |
CN113821200A (zh) | 大数据任务可拖拽建模方法、系统、存储介质和终端 | |
CN115904857A (zh) | 一种瓶颈节点的筛选方法、装置及计算机设备 | |
CN112445709B (zh) | 一种通过gan解决afl测试模型数据不平衡的方法及装置 | |
CN108920601B (zh) | 一种数据匹配方法及装置 | |
CN113918438A (zh) | 服务器异常的检测方法、装置、服务器及存储介质 | |
CN109634822A (zh) | 一种函数耗时统计方法、装置、存储介质及终端设备 | |
CN116661954B (zh) | 虚拟机异常预测方法、装置、通信设备及存储介质 | |
O’Sullivan et al. | Testing temporal correctness of real-time systems-a new approach using genetic algorithms and cluster analysis | |
CN113671386B (zh) | 一种氢燃料电池耐久性能分析方法及装置 | |
US20230035666A1 (en) | Anomaly detection in storage systems | |
US8489581B2 (en) | Method and apparatus for self optimizing data selection | |
CN114355171A (zh) | 一种可重构芯片性能瓶颈检测平台、检测方法及电子设备 | |
CN111488496A (zh) | 一种基于滑动窗口的Tango树构建方法及系统 | |
CN111582347B (zh) | 一种故障诊断方法及装置 | |
Dreyer et al. | Non-intrusive online timing analysis of large embedded applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |