CN105242873A - 云计算系统的性能数据的采集与存储方法及装置 - Google Patents

云计算系统的性能数据的采集与存储方法及装置 Download PDF

Info

Publication number
CN105242873A
CN105242873A CN201410301908.6A CN201410301908A CN105242873A CN 105242873 A CN105242873 A CN 105242873A CN 201410301908 A CN201410301908 A CN 201410301908A CN 105242873 A CN105242873 A CN 105242873A
Authority
CN
China
Prior art keywords
function
performance
data
database
computing system
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.)
Granted
Application number
CN201410301908.6A
Other languages
English (en)
Other versions
CN105242873B (zh
Inventor
秦承刚
黄江伟
唐珂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410301908.6A priority Critical patent/CN105242873B/zh
Priority to PCT/CN2015/079695 priority patent/WO2015196885A1/zh
Publication of CN105242873A publication Critical patent/CN105242873A/zh
Priority to HK16103621.3A priority patent/HK1215735A1/zh
Application granted granted Critical
Publication of CN105242873B publication Critical patent/CN105242873B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供了一种云计算系统的性能数据的采集与存储方法及装置,所述方法应用于云计算系统中的各台主机上,包括:按照预设的采样周期采集本机的性能数据,利用本机CPU的寄存器值解析进程的用户栈以得到进程在采集时刻的函数调用链和各个函数对应的DSO文件;将采集时刻作为关键字,性能数据作为键值对应保存至数据库中。本申请还提供了一种云计算系统的性能检测方法、装置和系统,该方法包括:响应于用户关于云计算系统的性能检测请求,对应获取到目标数据,并依据目标数据对云计算系统进行性能检测。本申请实现了分布式数据存储,避免了不必要的网络开销,并且可对来自多台机器的性能数据进行聚合、分析,从而实现对云计算系统的性能分析。

Description

云计算系统的性能数据的采集与存储方法及装置
技术领域
本申请涉及云计算领域,特别涉及一种云计算系统的性能数据的采集与存储方法及装置,还有一种云计算系统的性能检测方法、装置及系统。
背景技术
云计算系统包括服务器、存储、网络等海量基础硬件资源和单机操作系统、中间件、数据库等海量基础软件资源。云计算系统的硬件构成可以看为计算机集群,涉及到的机器可能会有数千台之多。对于云计算系统的使用者来说,付出的费用通常与应用占有的硬件资源成正比。使用的硬件资源越多,所需付出的成本就越高。因此,提供面向云计算系统的性能分析工具,帮助云计算系统的开发者与用户对云计算系统软件与应用软件进行性能优化,减少系统软件与应用软件的资源开销,具有节约成本的现实意义。
运行在云计算系统上的应用程序多为分布式应用,这些应用部署在不同机器上的模块可能是同构的,也可能是异构的。因此面向云计算系统的性能分析工具,必须支持分布式软件的性能分析。
进一步的,由于云计算系统的规模庞大,运行在该系统之上的系统软件与应用软件每天都会发生很多性能异常。特别是这些软件系统还没有趋于稳定时。为了能够快速排查性能异常的原因,有必要在云计算系统中保存软件的性能数据。
在现有技术中,因为云计算系统存在上述特性,所以在采集或者存储云计算系统的性能数据时,尚没有一种能够准确采集、存储、分析分布式应用性能数据的有效的方案。
发明内容
本申请所要解决的技术问题是提供一种云计算系统的性能数据的采集与存储方法,用以解决现有技术中没有能够准确采集并存储云计算系统的性能数据方案的问题,进一步的,还能基于采集并存储的性能数据对云计算系统的进行性能分析。
本申请还提供了一种云计算系统的性能数据的采集与存储装置,以及一种云计算系统的性能检测方法、装置及系统,用以保证上述方法在实际中的实现及应用。
为了解决上述问题,本申请公开了一种云计算系统的性能数据的采集与存储方法,应用于云计算系统中的各台主机上,包括:
按照预设的采样周期采集本机的性能数据,所述性能数据包括:本机CPU的寄存器值、正在运行的进程标示符PID、该进程的名称和该进程的用户栈;
利用所述本机CPU的寄存器值解析该进程的用户栈以得到该进程在采集时刻的函数调用链和所述函数调用链中各个函数对应的DSO文件;
将所述采集时刻作为关键字,所述采样周期、PID、名称、函数调用链地址以及所述各个函数对应的DSO文件的SHA1编码作为键值对应保存至第一数据库中,并将所述各个函数对应的DSO文件的SHA1编码作为关键字,所述DSO文件中的函数地址表在磁盘上的存放位置作为键值对应保存至第二数据库中,所述函数地址表中对应保存有函数名称以及函数的起始和结束地址。
本申请公开了一种云计算系统的性能数据的采集与存储装置,包括:
采集单元,用于按照预设的采样周期采集本机的性能数据,所述性能数据包括:本机CPU的寄存器值、正在运行的进程标示符PID、该进程的名称和该进程的用户栈;
第一解析单元,用于利用所述本机CPU的寄存器值解析该进程的用户栈以得到该进程在采集时刻的函数调用链和所述函数调用链中各个函数对应的DSO文件;
第一保存单元,用于将所述采集时刻作为关键字,所述采样周期、PID、进程名称、函数调用链地址以及所述各个函数对应的DSO文件的SHA1编码作为键值对应保存至第一数据库中;
第二保存单元,用于将所述各个函数对应的DSO文件的SHA1编码作为关键字,所述DSO文件中的函数地址表在磁盘上的存放位置作为键值对应保存至第二数据库中,所述函数地址表中对应保存有函数名称以及函数的起始和结束地址。
本申请公开了一种云计算系统的性能检测方法,包括:
接收用户关于云计算系统的性能检测请求,所述性能检测请求中包括:性能检测目标主机、所述目标主机上运行的目标进程的名称、所述目标进程所涉及的DSO文件和时间范围;
将所述性能检测请求发送给所述性能检测目标主机,并接收所述性能检测目标主机返回的目标数据;所述目标数据为所述性能检测目标主机依据所述目标进程的名称、所述目标进程所涉及的DSO文件和时间范围在预置的第一数据库中检索出的数据,所述目标数据包括:采样周期、函数调用链地址以及所述函数调用链中各个函数对应的DSO文件的SHA1编码;在所述第一数据库中,采集时刻作为关键字,采样周期、PID、名称、函数调用链地址以及所述各个函数对应的DSO文件的SHA1编码作为键值对应保存;
依据所述目标数据中的SHA1编码从预置的第二数据库中匹配出对应的函数地址表;在所述第二数据库中,所述各个函数对应的DSO文件的SHA1编码作为关键字,所述DSO文件中的函数地址表在磁盘上的存放位置作为键值对应保存;
利用所述函数地址表对所述目标数据中的函数调用链地址进行解析,以得到所述当前进程中调用的各个函数名称;
利用所述采样周期计算各个函数名称对应的各个函数的执行时间占比。
本申请公开了一种云计算系统的性能检测装置,包括:
接收请求单元,用于接收用户关于云计算系统的性能检测请求,所述性能检测请求中包括:性能检测目标主机、所述目标主机上运行的目标进程的名称、所述目标进程所涉及的DSO文件和时间范围;
发送单元,用于将所述性能检测请求发送给所述性能检测目标主机;
接收数据单元,用于接收所述性能检测目标主机返回的目标数据;所述目标数据为所述性能检测目标主机依据所述目标进程的名称、所述目标进程所涉及的DSO文件和时间范围在预置的第一数据库中检索出的数据,所述目标数据包括:采样周期、函数调用链地址以及所述函数调用链中各个函数对应的DSO文件的SHA1编码;在所述第一数据库中,采集时刻作为关键字,采样周期、PID、名称、函数调用链地址以及所述各个函数对应的DSO文件的SHA1编码作为键值对应保存;
匹配单元,用于依据所述目标数据中的SHA1编码从预置的第二数据库中匹配出对应的函数地址表;在所述第二数据库中,所述各个函数对应的DSO文件的SHA1编码作为关键字,所述DSO文件中的函数地址表在磁盘上的存放位置作为键值对应保存;
第二解析单元,用于利用所述函数地址表对所述目标数据中的函数调用链地址进行解析,以得到所述当前进程中调用的各个函数名称;
计算单元,用于利用所述采样周期计算各个函数名称对应的各个函数的执行时间占比。
与现有技术相比,本申请包括以下优点:
在本申请中,可以将云计算系统中各台主机的性能数据分别进行采集与存储,并分别保存在两个Key-Value型数据库中,就可以使各台主机上都保存有自己的性能数据,并且根据关键字Key即可方便高效的检索出对应的Value,这样实现了简易的分布式数据存储,避免了数据集中存储带来的不必要的网络开销。并且充分利用了各台主机上的存储资源。并且,对来自多台机器的性能数据进行聚合、分析还有利于根据数据库中的性能数据对云计算系统的性能进行分析,从而实现对云计算系统的性能数据的分析。进一步的,还可以接触性能分析结果有针对性的对主机中的各个软件进行性能优化。
此外,通过对第一数据库和第二数据库进行上述方式的生命周期管理,可以更有效的存储更有价值的数据,同时也节省了云计算系统中各台主机的存储空间。并且,本申请实施例可以对来自多台主机的性能数据进行聚合和分析等,实现了针对大规模计算机集群及分布式应用程序的性能分析。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的一种云计算系统的性能数据的采集与存储方法实施例的流程图;
图2为本申请的一种云计算系统的性能数据的采集与存储装置实施例的结构框图;
图3是本申请的一种云计算系统的性能检测方法实施例的流程图;
图4是本申请的一种云计算系统的性能检测装置实施例的结构框图;
图5是本申请的一种云计算系统的性能检测系统实施例的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
参考图1,示出了本申请一种云计算系统的性能数据的采集与存储方法实施例的流程图,本实施例可以应用于云计算系统中的各台主机上,本实施例可以包括以下步骤:
步骤101:按照预设的采样周期采集本机的性能数据,所述性能数据包括:本机CPU的寄存器值、正在运行的进程标示符、该进程的名称和该进程的用户栈。
在本申请的实施例中,云计算系统中可能存在上千台主机,每一台主机都可以按照本实施例的方法进行性能数据的采集与存储。其中,采样周期可以预先由本领域技术人员设置好,例如,20ms,50Hz。其中,各台主机在采样时刻到来时,采集本机CPU的寄存器值,例如指令之神寄存器IP,栈指针寄存器SP,指针寄存器BP等的值。此外,还需要采集在采集时刻各台主机上正在运行的进程的标示符PID,该进程的进程名称,以及该进程的用户栈。这些数据内容可以通过操作系统提供的接口获得。
当然,在采集性能数据的时候,还可以采集其他数据,例如CPU的特权级别,这可以表示出当前采用是属于操作系统的还是用户级别的,例如还可以采集采样间隔,因为采样周期是预先设置好的固定值,而在实际采集过程中,具体采集的那一时刻的数值未必恰好等于采样周期,可能会存在一些偏差,因此,实际的采样间隔值也可以通过高精度的系统时钟采集得到。
步骤102:利用所述本机CPU的寄存器值解析所述当前进程的用户栈以得到该进程在采集时刻的函数调用链地址和所述函数调用链中各个函数对应的DSO文件。
在采集到本机CPU的寄存器值之后,可以利用本机CPU的寄存器值来解析当前进程的用户栈,从而可以得到当前进程在采集时刻的函数调用链,以及函数调用链中各个函数对应的DSO(动态共享对象,DynamicSharedObject)文件。其中,函数调用链表示CPU正在执行的当前函数,以及逐级调用直到当前函数的函数集合。函数调用链地址是指函数调用链中各个函数的地址。其中,当前进程可能对应多个DSO文件,因此,本步骤中需要解析出函数调用链中的各个函数都属于哪一个DSO文件。
步骤103:将所述采集时刻作为关键字,所述采样周期、当前进程的PID、进程名称、函数调用链地址以及所述各个函数对应的DSO文件的SHA1编码作为键值对应保存至第一数据库中。
在采集到性能数据之后,则首先将采集时刻作为关键字Key,采样周期、当前进程的PID、进程名称、函数调用链地址以及所述各个函数对应的DSO文件的SHA1编码作为键值Value,对应保存至第一个Key-Value型数据库中。
步骤104:将所述各个函数对应的DSO文件的SHA1编码作为关键字,所述DSO文件中的函数地址表在磁盘上的存放位置作为键值对应保存至第二数据库中,所述函数地址表中对应保存有函数名称以及函数的起始和结束地址。
此外,再将所述各个函数对应的DSO文件的SHA1编码作为关键字Key,DSO文件中的函数地址表在磁盘上的存放位置作为键值Value,对应保存至第二个Key-Value型数据库中。其中,DSO文件中包括函数地址表,函数地址表中保存有函数名称,以及与函数名称对应的函数的起始地址和结束地址。因为一个DSO文件可能对应多个函数,因此,一个SHA1编码也可能对应多个函数。
可以理解的是,步骤103和步骤104的顺序也可以颠倒。
采用上述方法将云计算系统中各台主机的性能数据分别进行采集与存储,并分别保存在两个Key-Value型数据库中,就可以使各台主机上都保存有自己的性能数据,并且根据关键字Key即可方便高效地检索出对应的Value,这样实现了简易的分布式数据存储,避免了数据集中存储带来的不必要的网络开销。并且充分利用了各台主机上的存储资源。并且,也有利于根据数据库中的性能数据对云计算系统的性能进行分析,从而实现对云计算系统的性能数据的分析。
在不同的实施例中,在步骤104之后,还可以包括:
步骤105:判断所述第一数据库或第二数据库中的数据的存储时间是否超过预设时间阈值,如果是,则进入步骤106。
可以理解的是,由于各台主机的存储空间有限,并且性能数据的数据量较大,因此,可以在第一数据库或者第二数据库中仅保存N天的文件,N是自然数,具体值可以由本领域技术人员根据各台主机的实际存储空间或者技术需求进行设定。那么,N即是预设时间阈值,例如7天,主机可以判断第一数据库或者第二数据库中的数据的存储时间是不是已经超过预设时间阈值,如果超过了,则不再对其进行保存,没有超过,则不对数据进行任何处理。
步骤106:删除存储时间超过预设时间阈值的数据。
主机可以删除自己存储的超过预设时间阈值的数据,这样可以进一步的节省主机的存储空间。
可以理解的是,在实际应用中,还可以将实际中的“一天”设置为所述第一关系库和第二关系库中的数据表的时间属性,所述时间属性可以表示:每一天的性能数据单独存储在第一数据库或者第二数据库的一个表格中。即是,将每一天的性能数据单独存储在一个数据表中。
通过对第一数据库和第二数据库进行上述方式的生命周期管理,可以更有效的存储更有价值的数据,同时也节省了云计算系统中各台主机的存储空间。
参考图2,示出了本申请一种云计算系统的性能检测方法实施例的流程图,本实施例可以应用于云计算系统中专门用于性能检测的若干台主机上,其中,性能检测的主机与采集与存储性能数据的主机可以不同,那么,本实施例可以包括以下步骤:
步骤201:接收用户关于云计算系统的性能检测请求,所述性能检测请求中包括:性能检测目标主机、所述目标主机上运行的目标进程的名称、所述目标进程所涉及的DSO文件和时间范围。
在用户触发了关于云计算系统的性能检测请求的时候,专门用于性能检测的主机可以响应性能检测请求,获取到性能检测请求中涉及的:性能检测目标主机、所述目标主机上运行的目标进程的名称、所述目标进程所涉及的DSO文件和时间范围。其中,性能检测目标主机表示用户需要检测云计算系统中哪一台主机的性能,目标主机上运行的目标进程的名称表示用户需要检测的主机上的待检测进程,目标进程所涉及的DSO文件,因为一个进程可能涉及多个DSO文件,用户可以在性能检测请求中指定哪一个或者哪一些DSO文件,时间范围则限定了检测哪些采集时刻采集到的性能数据。
步骤202:将所述性能检测请求发送给所述性能检测目标主机,并接收所述性能检测目标主机返回的目标数据;所述目标数据为所述性能检测目标主机依据所述目标进程的名称、所述目标进程所涉及的DSO文件和时间范围在预置的第一数据库中检索出的数据,所述目标数据包括:采样周期、函数调用链以及所述函数调用链中各个函数对应的DSO文件的SHA1编码。
在本实施例中,专门用于检测的主机接收到性能检测请求之后,会将该请求转发给该请求中涉及的性能目标检测主机,性能目标检测主机接收到该请求之后,会根据其中的目标进程的名称、所述目标进程所涉及的DSO文件和时间范围来在第一数据库中筛选目标数据,其中,目标数据包括:采样周期、函数调用链以及函数调用链中各个函数对应的DSO文件的SHA1编码。其中,所述第一数据库是采用图1所示的方法预先建立的。具体的,性能目标检测主机可以先以时间范围为关键字,在第一数据库中检索出在该时间范围内的所有Value,再用目标进程的名称和目标进程所涉及的DSO文件来筛选出最终的目标数据。
步骤203:依据所述目标数据中的SHA1编码从预置的第二数据库中匹配出对应的函数地址表。
在步骤202中得到了各个函数对应的DSO文件的SHA1编码之后,再以该SHA1编码为关键字从第二数据库中匹配出符合条件的函数地址表在磁盘上的存放位置,进而从该存放位置中读取出函数地址表。其中,第二数据库是采用图1所示的方法预先建立的。
步骤204:利用所述函数地址表对所述目标数据中的函数调用链地址进行解析,以得到所述当前进程中调用的各个函数名称。
因为函数地址表中保存的是函数名称与对应的函数的起始地址和结束地址,而函数调用链地址则表示的各个函数的指令地址,因此,一一比对各个函数的指令地址是否落到某一个函数的起始地址和结束地址中即可。例如,函数地址表中有一项是函数A对应的地址为0x00000001~0x00000005,而函数调用链中一个函数的指令地址为0x00000002,那么,可以该函数的名称即是函数A。
可以理解的是,在实际应用中,可以将本步骤的任务均分至不同的主机中进行,待各台主机的地址比对都完成之后,再将各台主机的结果进行聚合从而得到总结果。
步骤205:利用所述采样周期计算各个函数名称对应的各个函数的执行时间占比。
最后可以利用采用周期来计算各个函数名称对应的各个函数的执行时间占比。因为函数调用链地址中的各个指令地址有可能是重复的,即是某个函数被调用了多次,那么,该函数的总执行时间可以通过累加其每一次被调用的时间得到,即是将其被调用的次数与采样周期相乘,得到的乘积即是该函数的执行时间总长,最终得到的函数的执行总时间再除以采样周期的值,即可得到各个函数的执行时间占比,该执行时间占比的值在0~1之间。
在不同的实施例中,在步骤205之后还可以包括:
步骤206:将所述各个函数的执行时间占比和函数调用链生成所述云计算系统的性能图谱。
根据步骤205得到的各个函数的执行时间占比,和表示各个函数之间的被调用关系的函数调用链,则可以生成云计算系统的性能图谱,该性能图谱可以反映出各个函数的执行热度,以及函数之间的调用关系。该性能图谱还可以返回给发起性能检测请求的用户,以便用户接触该图谱可以快速定位软件的热点,从而有针对性的进行性能优化。
在本实施例中,通过预先在第一关系库和第二关系库中的数据,可以很方便的对云计算系统中的各台主机的性能进行检测,从而分析得到各台主机运行软件的热点,从而实现对云计算系统中各台主机的性能分析。进一步的,还可以接触性能分析结果有针对性的对主机中的各个软件进行性能优化。
对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
与上述本申请一种云计算系统的性能数据的采集与存储方法实施例所提供的方法相对应,参见图3,本申请还提供了一种云计算系统的性能数据的采集与存储装置实施例,在本实施例中,该装置可以包括:
采集单元301,用于按照预设的采样周期采集本机的性能数据,所述性能数据包括:本机CPU的寄存器值、正在运行的进程标示符、该进程的名称和该进程的用户栈。
第一解析单元302,用于利用所述本机CPU的寄存器值解析所述该进程的用户栈以得到该进程在采集时刻的函数调用链和所述函数调用链中各个函数对应的DSO文件。
第一保存单元303,用于将所述采集时刻作为关键字,所述采样周期、PID、名称、函数调用链以及所述各个函数对应的DSO文件的SHA1编码作为键值对应保存至第一数据库中。
第二保存单元304,用于将所述各个函数对应的DSO文件的SHA1编码作为关键字,所述DSO文件中的函数地址表在磁盘上的存放位置作为键值对应保存至第二数据库中,所述函数地址表中对应保存有函数名称以及函数的起始和结束地址。
本申请实施例的装置,将云计算系统中各台主机的性能数据分别进行采集与存储,并分别保存在两个Key-Value型数据库中,就可以使各台主机上都保存有自己的性能数据,并且根据关键字Key即可方便高效地检索出对应的Value,这样实现了简易的分布式数据存储,避免了数据集中存储带来的不必要的网络开销。并且充分利用了各台主机上的存储资源。
在不同的实施例中,该装置还可以包括:
判断单元305,用于判断所述第一数据库或第二数据库中的数据的存储时间是否超过预设时间阈值。
删除单元306,用于在所述判断模块的结果为是的情况下,删除存储时间超过预设时间阈值的数据。
在不同的实施例中,该装置还可以包括:
设置模块,用于将一天设置为所述第一关系库和第二关系库中的数据表的时间属性,所述时间属性表示:每一天的性能数据单独存储在第一数据库或者第二数据库的一个表格中。
此外,通过对第一数据库和第二数据库进行上述方式的生命周期管理,可以更有效的存储最有价值的数据,同时也节省了云计算系统中各台主机的存储空间。
本申请还提供了一种云计算系统的性能检测装置实施例,在本实施例中,参考图4所示,所述性能检测装置可以包括:
接收请求单元401,用于接收用户关于云计算系统的性能检测请求,所述性能检测请求中包括:性能检测目标主机、所述目标主机上运行的目标进程的名称、所述目标进程所涉及的DSO文件和时间范围。
发送单元402,用于将所述性能检测请求发送给所述性能检测目标主机。
接收数据单元403,用于接收所述性能检测目标主机返回的目标数据;所述目标数据为所述性能检测目标主机依据所述目标进程的名称、所述目标进程所涉及的DSO文件和时间范围在预置的第一数据库中检索出的数据,所述目标数据包括:采样周期、函数调用链以及所述函数调用链中各个函数对应的DSO文件的SHA1编码。在所述第一数据库中,采集时刻作为关键字,采样周期、PID、名称、函数调用链地址以及所述各个函数对应的DSO文件的SHA1编码作为键值对应保存。
匹配单元404,用于依据所述目标数据中的SHA1编码从预置的第二数据库中匹配出对应的函数地址表。在所述第二数据库中,所述各个函数对应的DSO文件的SHA1编码作为关键字,所述DSO文件中的函数地址表在磁盘上的存放位置作为键值对应保存。
第二解析单元405,用于利用所述函数地址表对所述目标数据中的函数调用链地址进行解析,以得到所述当前进程中调用的各个函数名称。
计算单元406,用于利用所述采样周期计算各个函数名称对应的各个函数的执行时间占比。
在不同的实施例中,该装置还可以包括:
生成单元407,用于将所述各个函数的执行时间占比和函数调用链生成所述云计算系统的性能图谱。
在本实施例中,通过预先在第一关系库和第二关系库中的数据,可以很方便地对云计算系统中的各台主机的性能进行检测,从而分析得到各台主机运行软件的热点,从而实现对云计算系统中各台主机的性能分析。用户可以根据性能分析结果有针对性地对主机中的各个软件进行性能优化。
参考图5所示,一种云计算系统的性能检测系统,具体可以包括:云计算系统的性能数据的采集与存储装置501,以及,云计算系统的性能检测装置502。
其中,云计算系统的性能数据的采集与存储装置501具体可以包括:采集单元301,用于按照预设的采样周期采集本机的性能数据,所述性能数据包括:本机CPU的寄存器值、正在运行的进程标示符、该进程的名称和该进程的用户栈。第一解析单元302,用于利用所述本机CPU的寄存器值解析该进程的用户栈以得到该进程在采集时刻的函数调用链和所述函数调用链中各个函数对应的DSO文件。第一保存单元303,用于将所述采集时刻作为关键字,所述采样周期、当前进程的PID、进程名称、函数调用链以及所述各个函数对应的DSO文件的SHA1编码作为键值对应保存至第一数据库中。第二保存单元304,用于将所述各个函数对应的DSO文件的SHA1编码作为关键字,所述DSO文件中的函数地址表在磁盘上的存放位置作为键值对应保存至第二数据库中,所述函数地址表中对应保存有函数名称以及函数的起始和结束地址。
云计算系统的性能检测装置502具体可以包括:接收请求单元401,用于接收用户关于云计算系统的性能检测请求,所述性能检测请求中包括:性能检测目标主机、所述目标主机上运行的目标进程的名称、所述目标进程所涉及的DSO文件和时间范围。发送单元402,用于将所述性能检测请求发送给所述性能检测目标主机。接收数据单元403,用于接收所述性能检测目标主机返回的目标数据;所述目标数据为所述性能检测目标主机依据所述目标进程的名称、所述目标进程所涉及的DSO文件和时间范围在所述第一数据库中检索出的数据,所述目标数据包括:采样周期、函数调用链以及所述函数调用链中各个函数对应的DSO文件的SHA1编码。匹配单元404,用于依据所述目标数据中的SHA1编码从所述第二数据库中匹配出对应的函数地址表。第二解析单元405,用于利用所述函数地址表对所述目标数据中的函数调用链地址进行解析,以得到所述当前进程中调用的各个函数名称。计算单元406,用于利用所述采样周期计算各个函数名称对应的各个函数的执行时间占比。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的云计算系统的性能数据的采集与存储方法及装置、云计算系统的性能检测方法、装置及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种云计算系统的性能数据的采集与存储方法,其特征在于,应用于云计算系统中的各台主机上,该方法包括:
按照预设的采样周期采集本机的性能数据,所述性能数据包括:本机CPU的寄存器值、正在运行的进程标示符PID、该进程的名称和该进程的用户栈;
利用所述本机CPU的寄存器值解析该进程的用户栈以得到该进程在采集时刻的函数调用链和所述函数调用链中各个函数对应的DSO文件;
将所述采集时刻作为关键字,所述采样周期、PID、名称、函数调用链地址以及所述各个函数对应的DSO文件的SHA1编码作为键值对应保存至第一数据库中,并将所述各个函数对应的DSO文件的SHA1编码作为关键字,所述DSO文件中的函数地址表在磁盘上的存放位置作为键值对应保存至第二数据库中,所述函数地址表中对应保存有函数名称以及函数的起始和结束地址。
2.根据权利要求1所述的方法,其特征在于,还包括:
判断所述第一数据库或第二数据库中的数据的存储时间是否超过预设时间阈值,如果是,则删除存储时间超过预设时间阈值的数据。
3.根据权利要求1所述的方法,其特征在于,还包括:
将一天设置为所述第一关系库和第二关系库中的数据表的时间属性,所述时间属性表示:每一天的性能数据单独存储在第一数据库或者第二数据库的一个表格中。
4.一种云计算系统的性能检测方法,其特征在于,该方法包括:
接收用户关于云计算系统的性能检测请求,所述性能检测请求中包括:性能检测目标主机、所述目标主机上运行的目标进程的名称、所述目标进程所涉及的DSO文件和时间范围;
将所述性能检测请求发送给所述性能检测目标主机,并接收所述性能检测目标主机返回的目标数据;所述目标数据为所述性能检测目标主机依据所述目标进程的名称、所述目标进程所涉及的DSO文件和时间范围在预置的第一数据库中检索出的数据,所述目标数据包括:采样周期、函数调用链地址以及所述函数调用链中各个函数对应的DSO文件的SHA1编码;在所述第一数据库中,采集时刻作为关键字,采样周期、PID、名称、函数调用链地址以及所述各个函数对应的DSO文件的SHA1编码作为键值对应保存;
依据所述目标数据中的SHA1编码从预置的第二数据库中匹配出对应的函数地址表;在所述第二数据库中,所述各个函数对应的DSO文件的SHA1编码作为关键字,所述DSO文件中的函数地址表在磁盘上的存放位置作为键值对应保存;
利用所述函数地址表对所述目标数据中的函数调用链地址进行解析,以得到所述当前进程中调用的各个函数名称;
利用所述采样周期计算各个函数名称对应的各个函数的执行时间占比。
5.根据权利要求4所述的方法,其特征在于,还包括:
将所述各个函数的执行时间占比和函数调用链生成所述云计算系统的性能图谱。
6.一种云计算系统的性能数据的采集与存储装置,其特征在于,包括:
采集单元,用于按照预设的采样周期采集本机的性能数据,所述性能数据包括:本机CPU的寄存器值、正在运行的进程标示符PID、该进程的名称和该进程的用户栈;
第一解析单元,用于利用所述本机CPU的寄存器值解析该进程的用户栈以得到该进程在采集时刻的函数调用链和所述函数调用链中各个函数对应的DSO文件;
第一保存单元,用于将所述采集时刻作为关键字,所述采样周期、PID、进程名称、函数调用链地址以及所述各个函数对应的DSO文件的SHA1编码作为键值对应保存至第一数据库中;
第二保存单元,用于将所述各个函数对应的DSO文件的SHA1编码作为关键字,所述DSO文件中的函数地址表在磁盘上的存放位置作为键值对应保存至第二数据库中,所述函数地址表中对应保存有函数名称以及函数的起始和结束地址。
7.根据权利要求6所述的装置,其特征在于,还包括:
判断模块,用于判断所述第一数据库或第二数据库中的数据的存储时间是否超过预设时间阈值;
删除模块,用于在所述判断模块的结果为是的情况下,删除存储时间超过预设时间阈值的数据。
8.根据权利要求6所述的装置,其特征在于,还包括:
设置模块,用于将一天设置为所述第一关系库和第二关系库中的数据表的时间属性,所述时间属性表示:每一天的性能数据单独存储在第一数据库或者第二数据库的一个表格中。
9.一种云计算系统的性能检测装置,其特征在于,所述性能检测装置包括:
接收请求单元,用于接收用户关于云计算系统的性能检测请求,所述性能检测请求中包括:性能检测目标主机、所述目标主机上运行的目标进程的名称、所述目标进程所涉及的DSO文件和时间范围;
发送单元,用于将所述性能检测请求发送给所述性能检测目标主机;
接收数据单元,用于接收所述性能检测目标主机返回的目标数据;所述目标数据为所述性能检测目标主机依据所述目标进程的名称、所述目标进程所涉及的DSO文件和时间范围在预置的第一数据库中检索出的数据,所述目标数据包括:采样周期、函数调用链地址以及所述函数调用链中各个函数对应的DSO文件的SHA1编码;在所述第一数据库中,采集时刻作为关键字,采样周期、PID、名称、函数调用链地址以及所述各个函数对应的DSO文件的SHA1编码作为键值对应保存;
匹配单元,用于依据所述目标数据中的SHA1编码从预置的第二数据库中匹配出对应的函数地址表;在所述第二数据库中,所述各个函数对应的DSO文件的SHA1编码作为关键字,所述DSO文件中的函数地址表在磁盘上的存放位置作为键值对应保存;
第二解析单元,用于利用所述函数地址表对所述目标数据中的函数调用链地址进行解析,以得到所述当前进程中调用的各个函数名称;
计算单元,用于利用所述采样周期计算各个函数名称对应的各个函数的执行时间占比。
10.根据权利要求9所述的装置,其特征在于,所述检测装置还包括:
生成单元,用于将所述各个函数的执行时间占比和函数调用链生成所述云计算系统的性能图谱。
CN201410301908.6A 2014-06-27 2014-06-27 云计算系统的性能数据的采集与存储方法及装置 Active CN105242873B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201410301908.6A CN105242873B (zh) 2014-06-27 2014-06-27 云计算系统的性能数据的采集与存储方法及装置
PCT/CN2015/079695 WO2015196885A1 (zh) 2014-06-27 2015-05-25 云计算系统的性能数据的采集与存储方法及装置
HK16103621.3A HK1215735A1 (zh) 2014-06-27 2016-03-30 云計算系統的性能數據的採集與存儲方法及裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410301908.6A CN105242873B (zh) 2014-06-27 2014-06-27 云计算系统的性能数据的采集与存储方法及装置

Publications (2)

Publication Number Publication Date
CN105242873A true CN105242873A (zh) 2016-01-13
CN105242873B CN105242873B (zh) 2018-06-01

Family

ID=54936727

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410301908.6A Active CN105242873B (zh) 2014-06-27 2014-06-27 云计算系统的性能数据的采集与存储方法及装置

Country Status (3)

Country Link
CN (1) CN105242873B (zh)
HK (1) HK1215735A1 (zh)
WO (1) WO2015196885A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107135128A (zh) * 2017-06-28 2017-09-05 努比亚技术有限公司 调用链数据采集方法、移动终端及计算机可读存储介质
CN109542793A (zh) * 2018-11-30 2019-03-29 北京小马智行科技有限公司 一种程序性能分析方法及装置
CN113448815A (zh) * 2020-03-26 2021-09-28 华为技术有限公司 一种采集追踪trace调用链的方法和电子设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581049B (zh) * 2020-04-08 2023-10-10 北京百度网讯科技有限公司 分布式系统运行状态监测方法、装置、设备及存储介质
CN117687626B (zh) * 2024-02-04 2024-05-03 双一力(宁波)电池有限公司 一种上位机和主程序匹配系统及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102708011A (zh) * 2012-05-11 2012-10-03 南京邮电大学 一种面向云计算平台任务调度的多级负载评估方法
CN103095533A (zh) * 2013-02-22 2013-05-08 浪潮电子信息产业股份有限公司 一种云计算系统平台中的定时监控方法
US20140047227A1 (en) * 2012-08-07 2014-02-13 Advanced Micro Devices, Inc. System and method for configuring boot-time parameters of nodes of a cloud computing system
CN103617076A (zh) * 2013-10-31 2014-03-05 中兴通讯股份有限公司 一种虚拟化资源的调度方法和系统及服务端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102708011A (zh) * 2012-05-11 2012-10-03 南京邮电大学 一种面向云计算平台任务调度的多级负载评估方法
US20140047227A1 (en) * 2012-08-07 2014-02-13 Advanced Micro Devices, Inc. System and method for configuring boot-time parameters of nodes of a cloud computing system
CN103095533A (zh) * 2013-02-22 2013-05-08 浪潮电子信息产业股份有限公司 一种云计算系统平台中的定时监控方法
CN103617076A (zh) * 2013-10-31 2014-03-05 中兴通讯股份有限公司 一种虚拟化资源的调度方法和系统及服务端

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107135128A (zh) * 2017-06-28 2017-09-05 努比亚技术有限公司 调用链数据采集方法、移动终端及计算机可读存储介质
CN107135128B (zh) * 2017-06-28 2021-07-23 努比亚技术有限公司 调用链数据采集方法、移动终端及计算机可读存储介质
CN109542793A (zh) * 2018-11-30 2019-03-29 北京小马智行科技有限公司 一种程序性能分析方法及装置
CN109542793B (zh) * 2018-11-30 2022-06-14 北京小马智行科技有限公司 一种程序性能分析方法及装置
CN113448815A (zh) * 2020-03-26 2021-09-28 华为技术有限公司 一种采集追踪trace调用链的方法和电子设备

Also Published As

Publication number Publication date
CN105242873B (zh) 2018-06-01
HK1215735A1 (zh) 2016-09-09
WO2015196885A1 (zh) 2015-12-30

Similar Documents

Publication Publication Date Title
CN107943668B (zh) 计算机服务器集群日志监控方法及监控平台
CN103838867A (zh) 日志处理方法和装置
CN107861981B (zh) 一种数据处理方法及装置
CN105242873A (zh) 云计算系统的性能数据的采集与存储方法及装置
CN108108288A (zh) 一种日志数据解析方法、装置及设备
US10657099B1 (en) Systems and methods for transformation and analysis of logfile data
Andersen et al. DISTIL: Design and implementation of a scalable synchrophasor data processing system
US8639559B2 (en) Brand analysis using interactions with search result items
CN102708049B (zh) 移动应用测试结果记录和回放方法和系统
US20130238940A1 (en) Method for ranking analysis tools
CN113468019A (zh) 基于Hbase的指标监控方法、装置、设备及存储介质
CA3167981C (en) Offloading statistics collection
CN105302730A (zh) 一种检测计算模型的方法、测试服务器及业务平台
CN103077254A (zh) 网页获取方法和装置
EP3717997A1 (en) Cardinality estimation in databases
Samak et al. Scalable analysis of network measurements with Hadoop and Pig
CN107871055B (zh) 一种数据分析方法和装置
CN106557483B (zh) 一种数据处理、数据查询方法及设备
CN110321392A (zh) 基于传感器监测数据文件的数据库管理系统
CN102609347B (zh) 一种虚拟化环境下负载热点检测的方法
Zhou et al. A runtime verification based trace-oriented monitoring framework for cloud systems
CN106156162A (zh) 数据库查询量统计方法和设备
CN111159213A (zh) 一种数据查询方法、装置、系统和存储介质
CN112148719B (zh) 基于olap预计算模型的数据加工查询方法及装置
JP6201053B2 (ja) 素性データ管理システム、および素性データ管理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1215735

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230530

Address after: Room 1-2-A06, Yungu Park, No. 1008 Dengcai Street, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province

Patentee after: Aliyun Computing Co.,Ltd.

Address before: Box four, 847, capital building, Grand Cayman Island capital, Cayman Islands, UK

Patentee before: ALIBABA GROUP HOLDING Ltd.