CN118035042B - 应用程序性能分析方法、装置、电子设备及存储介质 - Google Patents
应用程序性能分析方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN118035042B CN118035042B CN202410399872.3A CN202410399872A CN118035042B CN 118035042 B CN118035042 B CN 118035042B CN 202410399872 A CN202410399872 A CN 202410399872A CN 118035042 B CN118035042 B CN 118035042B
- Authority
- CN
- China
- Prior art keywords
- data
- performance
- application program
- control group
- group information
- 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
- 238000004458 analytical method Methods 0.000 title claims abstract description 91
- 238000000034 method Methods 0.000 claims abstract description 108
- 230000008569 process Effects 0.000 claims abstract description 81
- 230000015654 memory Effects 0.000 claims description 40
- 230000006870 function Effects 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000012800 visualization Methods 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000002955 isolation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种应用程序性能分析方法、装置、电子设备及存储介质,涉及云计算技术领域,该方法包括:首先,获取应用程序运行时的性能数据;然后,在性能数据中添加应用程序所属容器的控制组信息和进程的标识,得到处理后的数据;控制组信息用于识别性能数据所属的容器;将处理后的数据按照控制组信息和标识分别进行存储,基于分别存储的数据,对应用程序进行性能分析。本实施例中,通过在性能数据中添加控制组信息和进程的标识,基于添加了控制组信息和进程的标识的性能数据进行性能分析,在没有明显增加原始数据量的前提下,可以细化出每个容器和进程的性能数据,从而快速定位性能问题,加速操作***抖动类问题分析的效率。
Description
技术领域
本申请涉及云计算技术领域,尤其涉及一种应用程序性能分析方法、装置、电子设备及存储介质。
背景技术
随着云计算技术的普及和应用,越来越多的企业开始采用容器化的方式对应用程序进行部署和管理,应用程序在隔离的容器中运行。容器化可以带来诸多好处,例如,资源利用率的提高、环境的隔离和快速部署等。然而,随着容器数量的增加和容器之间的交互,应用程序的性能问题也变得越来越突出。对于开发人员而言,经常需要深入应用程序,找出造成性能瓶颈的根本原因。
目前,一般通过应用程序的运行日志来收集性能相关信息。然而,这种方法往往非常耗时,且无法帮助开发人员定位应用程序的性能问题。特别是针对偶发的应用程序性能抖动场景,往往依赖于不断增加维测并复现,使得性能分析效率低下。
发明内容
本申请实施例提供了一种应用程序性能分析方法、装置、电子设备及存储介质,以实现定位应用程序的性能问题,提高性能分析效率。
第一方面,本申请实施例提供了一种应用程序性能分析方法,该方法包括:获取应用程序运行时的性能数据;在性能数据中添加应用程序所属容器的控制组信息和进程的标识,得到处理后的数据;控制组信息用于识别性能数据所属的容器;将处理后的数据按照控制组信息和标识分别进行存储,基于分别存储的数据,对应用程序进行性能分析。
第二方面,本申请实施例提供了一种应用程序性能分析装置,该装置包括:获取模块,用于获取应用程序运行时的性能数据;添加模块,用于在性能数据中添加应用程序所属容器的控制组信息和进程的标识,得到处理后的数据;控制组信息用于识别性能数据所属的容器;分析模块,用于将处理后的数据按照控制组信息和标识分别进行存储,基于分别存储的数据,对应用程序进行性能分析。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,处理器在执行计算机程序时实现上述任一项的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述任一项的方法。
第五方面,本申请实施例提供了一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序被处理器执行时实现上述任一项的方法。
与现有技术相比,本申请具有如下优点:
本申请提供了一种应用程序性能分析方法、装置、电子设备及存储介质,首先,获取应用程序运行时的性能数据;然后,在性能数据中添加应用程序所属容器的控制组信息和进程的标识,得到处理后的数据;控制组信息用于识别性能数据所属的容器;最后,将处理后的数据按照控制组信息和标识分别进行存储,基于分别存储的数据,对应用程序进行性能分析。本实施例中,通过在性能数据中添加控制组信息和进程的标识,基于添加了控制组信息和进程的标识的性能数据进行性能分析,在没有明显增加原始数据量的前提下,可以细化出每个容器和进程的性能数据,从而快速定位性能问题,加速操作***抖动类问题分析的效率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,可依照说明书的内容予以实施,并且为了让本申请的上述和其他目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请的一些实施方式,而不应将其视为是对本申请范围的限制。
图1为本申请提供的应用程序性能分析方法的一个应用场景的示意图。
图2为本申请一实施例的应用程序性能分析方法的流程图。
图3为本申请一实施例的应用程序性能分析方法的流程图。
图4为本申请一实施例的应用程序性能分析装置的结构框图。
图5为用来实现本申请实施例的电子设备的框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的构思或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的,而非限制性的。
为便于理解本申请实施例的技术方案,以下对本申请实施例的相关技术进行说明。以下相关技术作为可选方案与本申请实施例的技术方案可以进行任意结合,其均属于本申请实施例的保护范围。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
图1为本申请提供的应用程序性能分析方法的一个应用场景的示意图。在实际应用中,一个应用程序可以运行在多个容器中。应用程序可以被拆分成多个服务或组件,每个服务或组件可以打包并运行在一个独立的容器中。应用程序的不同部分可以根据需求独立地扩展。例如,如果某个服务需要更多资源,可以单独为该服务增加容器实例,而不影响其他服务。每个容器都在自己的隔离环境中运行,容器之间的依赖和交互是受控的,减少了服务之间的耦合。当一个服务出现问题时,由于容器的隔离性,不会影响到运行在其他容器中的服务。容器化的应用程序更容易实现自动化的部署和更新,可以单独更新和部署应用程序的某个服务,而不需要重新部署整个应用程序。
本实施例中,如图1所示,应用程序A运行在容器1、容器2和容器3中。容器1中运行进程1和进程2,容器2中运行进程3,容器3中运行进程4和进程5。一个容器可以对应一个或多个控制组(cgroups),控制组用于限制和管理进程之间的资源使用,例如,资源包括中央处理器(Central Processing Unit,CPU)、内存资源和网络带宽资源等。进程是指正在运行的程序的实例,由操作***分配资源并控制其执行。
利用代理(agent)组件获取应用程序A运行时的性能数据。性能数据包括以下至少一项:CPU利用率、占用的内存、占用的网络带宽、磁盘输入/输出性能、函数调用的频率和持续时间等。
在性能分析插件中增加控制组信息字段和进程的标识字段,对控制组信息字段和标识字段进行监听和记录。当采集到性能数据时,将性能数据中添加控制组信息和进程的标识。控制组信息用于识别性能数据所属的容器。标识用于识别性能数据所属的进程,从而实现性能数据的容器和进程维度的细化。
利用关系型数据库,将性能数据按照控制组信息和标识分别存储到相应的数据表中。例如,将容器1对应的性能数据存储到数据表B1中,将进程3对应的性能数据存储到数据表B2中。
基于分别存储的数据,确定容器和进程分别对应的热点数据,热点数据用于表征使用资源次数超过预设次数阈值或占用资源时间超过预设时间阈值的应用程序的服务或组件。其中,热点数据包括以下至少一项:CPU热点、磁盘输入/输出热点、数据库热点、缓存热点等。其中,CPU热点包括以下几个维度:函数调用时间,即记录每个函数调用的时间,找出占用CPU时间最多的函数。调用次数,即函数被调用的频率,高频调用可能意味着潜在的优化点。调用栈,提供函数调用关系的堆栈跟踪,有助于了解性能问题的上下文。线程使用情况,展示哪些线程在CPU上的活动最频繁,以及它们的执行路径。磁盘输入/输出热点,识别哪些操作或文件访问导致了大量的磁盘读写。数据库热点,慢查询或频繁的数据库操作。
基于每个容器和每个进程分别对应的热点数据,对应用程序进行性能分析。具体的,使用数据分析工具和算法,对热点数据进行分析和处理,生成可视化的图表和报告,方便用户查看。通过对热点数据的分析,可以找到并解决影响应用程序性能的问题,从而提高效率和用户体验。
本申请实施例提供了一种应用程序性能分析方法,本实施例中的方法可以应用于计算设备中,计算设备可以包括:服务器、用户终端等。如图2所示为本申请一实施例的应用程序性能分析方法的流程图,包括:
步骤S201,获取应用程序运行时的性能数据。
示例性的,性能数据包括以下至少一项:中央处理器利用率、占用的内存、占用的网络带宽、磁盘输入/输出性能、函数调用的频率和持续时间。
步骤S202,在性能数据中添加应用程序所属容器的控制组信息和进程的标识,得到处理后的数据。
其中,控制组用于限制和管理进程之间的资源使用,例如,资源包括CPU、内存资源和网络带宽资源等。进程是指正在运行的程序的实例,由操作***分配资源并控制其执行。进程的标识为进程的唯一标识符,用于区分不同的进程。控制组信息用于识别性能数据所属的容器。
步骤S203,将处理后的数据按照控制组信息和标识分别进行存储,基于分别存储的数据,对应用程序进行性能分析。
当采集到性能数据时,将性能数据中添加控制组信息和进程的标识,并按照控制组信息和进程的标识进行存储。控制组信息用于识别性能数据所属的容器,标识用于识别性能数据所属的进程,从而实现性能数据的容器和进程维度的细化。基于细化后的性能数据进行性能分析,可以实现快速定位性能问题。
本申请实施例提供定的应用程序性能分析方法,首先,获取应用程序运行时的性能数据;然后,在性能数据中添加应用程序所属容器的控制组信息和进程的标识,得到处理后的数据;控制组信息用于识别性能数据所属的容器;最后,将处理后的数据按照控制组信息和标识分别进行存储,基于分别存储的数据,对应用程序进行性能分析。本实施例中,通过在性能数据中添加控制组信息和进程的标识,基于添加了控制组信息和进程的标识的性能数据进行性能分析,在没有明显增加原始数据量的前提下,可以细化出每个容器和进程的性能数据,从而快速定位性能问题,加速操作***抖动类问题分析的效率。
在一种实现方式中,步骤S203中,基于分别存储的数据,对应用程序进行性能分析,包括:基于分别存储的数据,确定容器和进程分别对应的热点数据,热点数据用于表征使用资源次数超过预设次数阈值或占用资源时间超过预设时间阈值的应用程序的服务或组件;基于容器和进程分别对应的热点数据,对应用程序进行性能分析。
其中,热点数据包括以下至少一项:CPU热点、磁盘输入/输出热点、数据库热点、缓存热点等。其中,CPU热点包括以下几个维度:函数调用时间,即记录每个函数调用的时间,找出占用CPU时间最多的函数。调用次数,即函数被调用的频率,高频调用可能意味着潜在的优化点。调用栈,提供函数调用关系的堆栈跟踪,有助于了解性能问题的上下文。线程使用情况,展示哪些线程在CPU上的活动最频繁,以及它们的执行路径。磁盘输入/输出热点,识别哪些操作或文件访问导致了大量的磁盘读写。数据库热点,慢查询或频繁的数据库操作。
通过对热点数据的分析,可以快速找到哪个容器或者那个进程对应的组件或服务使用资源次数较多,或者占用资源时间较长,从而快速定位应用程序性能问题,提高性能分析效率和用户体验。
在一种实现方式中,步骤S202中,在性能数据中添加应用程序所属容器的控制组信息和进程的标识,得到处理后的数据,包括:在性能分析插件中增加控制组信息字段和进程的标识字段,对控制组信息字段和标识字段进行监听和记录,得到处理后的数据。
在实际应用中,在性能分析插件中增加控制组信息和进程的标识字段,并监听和记录性能数据中各项参数。在采集到性能数据后,使用性能分析插件提供的应用程序编程接口,对采集到的性能数据进行记录和存储,并添加控制组信息和进程的标识。控制组信息用于识别性能数据所属的容器,标识用于识别性能数据所属的进程,从而实现性能数据的容器和进程维度的细化。基于细化后的性能数据进行性能分析,可以实现快速定位性能问题。
在一种实现方式中,步骤S203中,将处理后的数据按照控制组信息和标识分别进行存储,包括:利用关系型数据库,将处理后的数据按照控制组信息和标识分别存储到相应的数据表中。
其中,关系型数据库是指采用了关系模型来组织数据的数据库,以行和列的形式存储数据,以便于用户理解,关系型数据库的行和列构成数据表,多个数据表组成了数据库。用户通过查询来检索数据库中的数据。
在实际应用中,利用关系型数据库,将添加了控制组信息和进程的标识的性能数据按照每个容器和每个进程,分别存储到容器或进程对应的数据表中,方便后续的分析和处理。
在一种实现方式中,步骤S203中,基于分别存储的数据,对应用程序进行性能分析,包括:对分别存储的数据进行可视化处理,生成性能分析图表和性能分析报告。
使用数据分析工具和算法,对分别存储的数据进行分析和处理,生成可视化的图表和报告,方便用户查看。
本申请实施例提供了一种应用程序性能分析方法,本实施例中的方法可以应用于计算设备中,计算设备可以包括:服务器、用户终端等。如图3所示为本申请一实施例的应用程序性能分析方法的流程图,包括:
步骤S301,获取应用程序运行时的性能数据。
其中,性能数据包括以下至少一项:中央处理器利用率、占用的内存、占用的网络带宽、磁盘输入/输出性能、函数调用的频率和持续时间。
步骤S302,在性能分析插件中增加控制组信息字段和进程的标识字段,对控制组信息字段和标识字段进行监听和记录,得到处理后的数据。
在实际应用中,在性能分析插件中增加控制组信息和进程的标识字段,并监听和记录性能数据中各项参数。在采集到性能数据后,使用性能分析插件提供的应用程序编程接口,对采集到的性能数据进行记录和存储,并添加控制组信息和进程的标识。控制组信息用于识别性能数据所属的容器,标识用于识别性能数据所属的进程,从而实现性能数据的容器和进程维度的细化。基于细化后的性能数据进行性能分析,可以实现快速定位性能问题。
步骤S303,利用关系型数据库,将处理后的数据按照控制组信息和标识分别存储到相应的数据表中。
其中,关系型数据库是指采用了关系模型来组织数据的数据库,以行和列的形式存储数据,以便于用户理解,关系型数据库的行和列构成数据表,多个数据表组成了数据库。用户通过查询来检索数据库中的数据。
在实际应用中,利用关系型数据库,将添加了控制组信息和进程的标识的性能数据按照每个容器和每个进程,分别存储到容器或进程对应的数据表中,方便后续的分析和处理。
步骤S304,基于分别存储的数据,确定容器和进程分别对应的热点数据,热点数据用于表征使用资源次数超过预设次数阈值或占用资源时间超过预设时间阈值的应用程序的服务或组件。
其中,热点数据包括以下至少一项:CPU热点、磁盘输入/输出热点、数据库热点、缓存热点等。其中,CPU热点包括以下几个维度:函数调用时间,即记录每个函数调用的时间,找出占用CPU时间最多的函数。调用次数,即函数被调用的频率,高频调用可能意味着潜在的优化点。调用栈,提供函数调用关系的堆栈跟踪,有助于了解性能问题的上下文。线程使用情况,展示哪些线程在CPU上的活动最频繁,以及它们的执行路径。磁盘输入/输出热点,识别哪些操作或文件访问导致了大量的磁盘读写。数据库热点,慢查询或频繁的数据库操作。
步骤S305,基于容器和进程分别对应的热点数据,对应用程序进行性能分析。
使用数据分析工具和算法,对热点数据进行分析和处理,生成可视化的图表和报告,方便用户查看。通过对热点数据的分析,可以找到并解决影响应用程序性能的问题,从而提高效率和用户体验。
本实施例中,通过在性能数据中添加控制组信息和进程的标识,基于添加了控制组信息和进程的标识的性能数据进行性能分析,在没有明显增加原始数据量的前提下,可以细化出每个容器和进程的性能数据,从而快速定位性能问题,加速操作***抖动类问题分析的效率。
与本申请实施例提供的方法的应用场景以及方法相对应地,本申请实施例还提供一种应用程序性能分析装置。如图4所示为本申请一实施例的应用程序性能分析装置的结构框图,该装置包括:
获取模块401,用于获取应用程序运行时的性能数据。
添加模块402,用于在性能数据中添加应用程序所属容器的控制组信息和进程的标识,得到处理后的数据;控制组信息用于识别性能数据所属的容器。
分析模块403,用于将处理后的数据按照控制组信息和标识分别进行存储,基于分别存储的数据,对应用程序进行性能分析。
本申请实施例提供定的应用程序性能分析装置,首先,获取应用程序运行时的性能数据;然后,在性能数据中添加应用程序所属容器的控制组信息和进程的标识,得到处理后的数据;控制组信息用于识别性能数据所属的容器;最后,将处理后的数据按照控制组信息和标识分别进行存储,基于分别存储的数据,对应用程序进行性能分析。本实施例中,通过在性能数据中添加控制组信息和进程的标识,基于添加了控制组信息和进程的标识的性能数据进行性能分析,在没有明显增加原始数据量的前提下,可以细化出每个容器和进程的性能数据,从而快速定位性能问题,加速操作***抖动类问题分析的效率。
在一种实现方式中,分析模块403,在基于分别存储的数据,对应用程序进行性能分析,时,用于:基于分别存储的数据,确定容器和进程分别对应的热点数据,热点数据用于表征使用资源次数超过预设次数阈值或占用资源时间超过预设时间阈值的应用程序的服务或组件;基于容器和进程分别对应的热点数据,对应用程序进行性能分析。
在一种实现方式中,添加模块402,用于:在性能分析插件中增加控制组信息字段和进程的标识字段,对控制组信息字段和标识字段进行监听和记录,得到处理后的数据。
在一种实现方式中,分析模块403在将处理后的数据按照控制组信息和标识分别进行存储时,用于:利用关系型数据库,将处理后的数据按照控制组信息和标识分别存储到相应的数据表中。
在一种实现方式中,性能数据包括以下至少一项:中央处理器利用率、占用的内存、占用的网络带宽、磁盘输入/输出性能、函数调用的频率和持续时间。
在一种实现方式中,分析模块403,在基于分别存储的数据,对应用程序进行性能分析,时,用于:对分别存储的数据进行可视化处理,生成性能分析图表和性能分析报告。
本申请实施例中的各模块的功能可以参见上述方法中的对应描述,并具备相应的有益效果,在此不再赘述。
图5为用来实现本申请实施例的电子设备的框图。如图5所示,该电子设备包括:存储器510和处理器520,存储器510内存储有可在处理器520上运行的计算机程序。处理器520执行该计算机程序时实现上述实施例中的方法。存储器510和处理器520的数量可以为一个或多个。
该电子设备还包括:
通信接口530,用于与外界设备进行通信,进行数据交互传输。
如果存储器510、处理器520和通信接口530独立实现,则存储器510、处理器520和通信接口530可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准体系结构(ExtendedIndustry StandardArchitecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器510、处理器520及通信接口530集成在一块芯片上,则存储器510、处理器520及通信接口530可以通过内部接口完成相互间的通信。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现本申请实施例中提供的方法。
本申请实施例提供了一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序被处理器执行时实现本申请实施例中提供的方法。
本申请实施例还提供了一种芯片,该芯片包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请实施例提供的方法。
本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行申请实施例提供的方法。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(Advanced RISC Machines,ARM)架构的处理器。
进一步地,可选的,上述存储器可以包括只读存储器和随机访问存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(ProgrammableROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(ElectricallyEPROM,EEPROM)或闪存。易失性存储器可以包括随机访问存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM均可用。例如,静态随机访问存储器(Static RAM,SRAM)、动态随机访问存储器(Dynamic Random Access Memory,DRAM)、同步动态随机访问存储器(SynchronousDRAM,SDRAM)、双倍数据速率同步动态随机访问存储器(DoubleData Rate SDRAM,DDRSDRAM)、增强型同步动态随机访问存储器(Enhanced SDRAM,ESDRAM)、同步链接动态随机访问存储器(Sync link DRAM,SLDRAM)和直接内存总线随机访问存储器(DirectRambus RAM,DR RAM)。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生依照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中描述的或在此以其他方式描述的任何过程或方法可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中描述的或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。
应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本申请的示例性实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请记载的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种应用程序性能分析方法,其特征在于,所述方法包括:
获取应用程序运行时的性能数据;
在所述性能数据中添加所述应用程序所属容器的控制组信息和进程的标识,得到处理后的数据;所述控制组信息用于识别所述性能数据所属的容器;
将所述处理后的数据按照所述控制组信息和所述标识分别进行存储,基于分别存储的数据,对所述应用程序进行性能分析;
所述基于分别存储的数据,对所述应用程序进行性能分析,包括:
基于分别存储的数据,确定所述容器和进程分别对应的热点数据,所述热点数据用于表征使用资源次数超过预设次数阈值或占用资源时间超过预设时间阈值的所述应用程序的服务或组件;
基于所述容器和进程分别对应的热点数据,对所述应用程序进行性能分析。
2.根据权利要求1所述的方法,其特征在于,所述在所述性能数据中添加所述应用程序所属容器的控制组信息和进程的标识,得到处理后的数据,包括:
在性能分析插件中增加控制组信息字段和进程的标识字段,对所述控制组信息字段和所述标识字段进行监听和记录,得到所述处理后的数据。
3.根据权利要求1-2任一项所述的方法,其特征在于,所述将所述处理后的数据按照所述控制组信息和所述标识分别进行存储,包括:
利用关系型数据库,将所述处理后的数据按照所述控制组信息和所述标识分别存储到相应的数据表中。
4.根据权利要求1-2任一项所述的方法,其特征在于,所述性能数据包括以下至少一项:
中央处理器利用率、占用的内存、占用的网络带宽、磁盘输入/输出性能、函数调用的频率和持续时间。
5.根据权利要求1所述的方法,其特征在于,所述基于分别存储的数据,对所述应用程序进行性能分析,包括:
对分别存储的数据进行可视化处理,生成性能分析图表和性能分析报告。
6.一种应用程序性能分析装置,其特征在于,所述装置包括:
获取模块,用于获取应用程序运行时的性能数据;
添加模块,用于在所述性能数据中添加所述应用程序所属容器的控制组信息和进程的标识,得到处理后的数据;所述控制组信息用于识别所述性能数据所属的容器;
分析模块,用于将所述处理后的数据按照所述控制组信息和所述标识分别进行存储,基于分别存储的数据,对所述应用程序进行性能分析;
所述分析模块在基于分别存储的数据,对所述应用程序进行性能分析时,用于:
基于分别存储的数据,确定所述容器和进程分别对应的热点数据,所述热点数据用于表征使用资源次数超过预设次数阈值或占用资源时间超过预设时间阈值的所述应用程序的服务或组件;
基于所述容器和进程分别对应的热点数据,对所述应用程序进行性能分析。
7.一种电子设备,其特征在于,所述电子设备包括存储器、处理器及存储在存储器上的计算机程序,所述处理器在执行所述计算机程序时实现权利要求1-5中任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5中任一项所述的方法。
9.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410399872.3A CN118035042B (zh) | 2024-04-03 | 2024-04-03 | 应用程序性能分析方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410399872.3A CN118035042B (zh) | 2024-04-03 | 2024-04-03 | 应用程序性能分析方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118035042A CN118035042A (zh) | 2024-05-14 |
CN118035042B true CN118035042B (zh) | 2024-07-05 |
Family
ID=90995394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410399872.3A Active CN118035042B (zh) | 2024-04-03 | 2024-04-03 | 应用程序性能分析方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118035042B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115048272A (zh) * | 2022-06-29 | 2022-09-13 | 北京奇艺世纪科技有限公司 | 容器监控处理方法、装置、宿主机、***、存储介质及程序产品 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102707990B (zh) * | 2012-05-14 | 2015-04-08 | 华为技术有限公司 | 基于容器的处理方法和装置 |
US11068611B1 (en) * | 2018-07-31 | 2021-07-20 | Ca, Inc. | Systems and methods for preventing data loss from data containers |
US11580199B2 (en) * | 2019-09-20 | 2023-02-14 | International Business Machines Corporation | Correspondence of external operations to containers and mutation events |
CN117762827A (zh) * | 2023-12-26 | 2024-03-26 | 深信服科技股份有限公司 | 一种内存优化的方法及相关设备 |
-
2024
- 2024-04-03 CN CN202410399872.3A patent/CN118035042B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115048272A (zh) * | 2022-06-29 | 2022-09-13 | 北京奇艺世纪科技有限公司 | 容器监控处理方法、装置、宿主机、***、存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN118035042A (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106933733B (zh) | 一种确定内存泄露位置的方法和装置 | |
CN109800258B (zh) | 数据文件部署方法、装置、计算机设备及存储介质 | |
CN111813805A (zh) | 一种数据处理方法及装置 | |
CN109379398B (zh) | 一种数据同步方法及装置 | |
CN110287696B (zh) | 一种反弹shell进程的检测方法、装置和设备 | |
US9104567B2 (en) | Memory-leak identification | |
CN115408193A (zh) | 多模块间错误码处理方法及装置 | |
CN110046100B (zh) | 一种分组测试的方法、电子设备及介质 | |
CN108647102B (zh) | 异构***的服务请求处理方法、装置和电子设备 | |
CN111488323A (zh) | 一种数据处理方法、装置及电子设备 | |
CN114840427A (zh) | 一种代码测试、测试用例生成的方法及装置 | |
CN112650692A (zh) | 堆内存分配方法、装置及存储介质 | |
CN112559565A (zh) | 一种异常检测方法、***及装置 | |
CN118035042B (zh) | 应用程序性能分析方法、装置、电子设备及存储介质 | |
CN107301097B (zh) | 一种调用java对象、java对象的引用地址信息的存储方法及装置 | |
CN112445692B (zh) | 一种用例测试方法及终端 | |
CN114070820B (zh) | 一种域名重定向方法、装置、介质及电子设备 | |
CN114637969A (zh) | 目标对象的鉴权方法及装置 | |
CN115705294B (zh) | 用于获取函数调用信息的方法、装置、电子设备和介质 | |
CN112907198B (zh) | 业务状态流转维护方法、装置及电子设备 | |
CN110750271B (zh) | 服务聚合、聚合服务的执行方法、装置和电子设备 | |
CN108810299B (zh) | 一种信息解析的方法、介质及设备 | |
CN112749189A (zh) | 数据查询方法及装置 | |
CN107078919B (zh) | 可靠性配置策略的获取方法、装置及设备 | |
CN111124923B (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 |