CN107870848B - Cpu性能冲突的检测方法、装置和系统 - Google Patents

Cpu性能冲突的检测方法、装置和系统 Download PDF

Info

Publication number
CN107870848B
CN107870848B CN201610847444.8A CN201610847444A CN107870848B CN 107870848 B CN107870848 B CN 107870848B CN 201610847444 A CN201610847444 A CN 201610847444A CN 107870848 B CN107870848 B CN 107870848B
Authority
CN
China
Prior art keywords
cpu utilization
utilization rate
cpi
value
execution cycle
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
Application number
CN201610847444.8A
Other languages
English (en)
Other versions
CN107870848A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610847444.8A priority Critical patent/CN107870848B/zh
Publication of CN107870848A publication Critical patent/CN107870848A/zh
Application granted granted Critical
Publication of CN107870848B publication Critical patent/CN107870848B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供一种CPU性能冲突的检测方法、装置和系统,方法包括:利用预先训练的设定模型来辅助判定客户机是否发生了CPU性能冲突,设定模型可以通过待检测业务各进程的历史CPU使用率和历史CPI值来训练,能覆盖现实业务场景中请求量较大幅度波动时对应的CPU使用率,从而即使现实业务场景中请求量出现较大幅度波动,设定模型仍然包括与请求量较大幅度波动时的CPU使用率相对应的设定CPU使用率,以及与设定CPU使用率分别相对应的设定CPI均值和设定CPI标准差,从而运用本申请方案仍然能够比较准确的对CPU性能冲突进行检测。本申请提供的技术方案能够更好的适用于现实业务场景,更加准确地对CPU性能冲突进行检测。

Description

CPU性能冲突的检测方法、装置和系统
技术领域
本发明涉及计算机技术领域,具体涉及一种CPU性能冲突的检测方法、装置和系统。
背景技术
服务器资源共享的性能冲突中,CPU性能冲突带来的性能损失占比较大。CPU性能冲突是指一进程干扰到了另一进程的执行速度,如在多个进程共享服务器资源时,如果其中一进程消耗了大量的L3cache(3级缓存),那么其它进程就会大量的cache miss(高速缓存缺失),访问时间就会大幅延长,如从L3cache对应的18ns(纳秒)延长至内存对应的80ns,造成CPI(cycles per instruction,平均执行周期数)的异常升高,业务端响应就会出现延迟。即CPI可以作为一个指标来衡量不同进程之间是否存在干扰,是否存在一进程干扰到了另一进程的执行速度,若不同进程之间存在干扰,则认为发生了CPU性能冲突。
目前的技术中,采用CPI作为判断指标,同时辅以时间维度来建立“时间和CPI”模型,即统计每个时间段的CPI数据集来获得服务正常工作状态的模型,然后采集同一进程的实时CPI值跟模型中的CPI值做比对来判断是否发生CPU性能冲突。该方法只能适用于请求量随时间分布比较规律的业务场景,而在现实业务场景中,请求量也可能会出现较大幅度的波动,此时,该方法便容易出现误判,比如在“时间和CPI”模型中低请求量的时段,一旦现实业务场景中该时段的请求量突然增多,该方法便容易误判为不同进程之间存在干扰,即发生了CPU性能冲突。
因此,目前对CPU性能冲突进行检测的技术,准确性不高。
发明内容
有鉴于此,本发明实施例提供一种CPU性能冲突的检测方法、装置和系统,以提高检测CPU性能冲突的准确性。
为实现上述目的,本发明实施例提供如下技术方案:
一种CPU性能冲突的检测方法,应用于客户机,所述方法包括:
收集待检测进程当前的CPI值和当前的CPU使用率,所述待检测进程为待检测业务的任一进程;
在预先训练的设定模型中,查找与所述待检测进程相对应,且与所述当前的CPU使用率相匹配的设定CPU使用率;其中,训练所述设定模型的输入数据包括所述客户机未部署新业务时所述待检测业务中各个进程的历史CPU使用率和历史CPI值;
计算第一绝对值,所述第一绝对值为所述当前的CPU使用率和所述设定CPU使用率的差值的绝对值;
若所述第一绝对值大于第一预设数值,则判定所述客户机发生了CPU性能冲突,否则查找所述设定模型中与所述设定CPU使用率分别相对应的设定CPI均值和设定CPI标准差;
计算第二绝对值,所述第二绝对值为所述当前的CPI值与所述设定CPI均值的差值的绝对值;
若所述设定CPI标准差大于1且所述第二绝对值大于第二预设数值倍的所述设定CPI标准差,或者所述设定CPI标准差未超过1且所述第二绝对值大于所述第二预设数值,则判定所述客户机发生了CPU性能冲突。
优选的,所述在预先训练的设定模型中,查找与所述待检测进程相对应,且与所述当前的CPU使用率相匹配的设定CPU使用率之前,还包括:
接收服务器下发的所述设定模型;所述设定模型由所述服务器利用所述客户机未部署新业务时上报的所述待检测业务中各个进程的历史CPU使用率和历史CPI值作为输入数据经训练生成。
优选的,所述在预先训练的设定模型中,查找与所述待检测进程相对应,且与所述当前的CPU使用率相匹配的设定CPU使用率之前,还包括:
调取所述客户机未部署新业务时所述待检测业务中各个进程的历史CPU使用率和历史CPI值;
为每个所述进程设置CPU使用率与CPI的对应关系;所述CPU使用率与CPI的对应关系包括,预设范围内平均划分的预设数目个参考CPU使用率,和与所述参考CPU使用率分别相对应的CPI均值和CPI标准差,其中,所述CPI均值和所述CPI标准差通过属于预设参考范围内的历史CPI值计算得到,所述预设参考范围是与所述参考CPU使用率相差预设浮动值的范围;
以各所述进程的标号,以及为每个所述进程设置的所述CPU使用率与CPI的对应关系作为输入数据,经训练生成所述设定模型。
优选的,所述设定模型包括所述待检测业务中每个进程的标号,与所述进程的标号相对应的多个参考CPU使用率,则在预先训练的设定模型中,查找与所述待检测进程相对应,且与所述当前的CPU使用率相匹配的设定CPU使用率,包括:
在所述设定模型中,查找所述待检测进程的标号;
在所述待检测进程的标号对应的多个参考CPU使用率中,选择与所述当前的CPU使用率最接近的参考CPU使用率为所述设定CPU使用率。
优选的,还包括:
将所述待检测进程的标号、所述当前的CPI值和所述当前的CPU使用率上传至服务器。
优选的,还包括:
若判定所述客户机发生了CPU性能冲突,发送提醒信息至服务器,以使所述服务器在接收到预设数目个所述提醒信息时生成告警信息。
优选的,所述收集待检测进程当前的CPI值和当前的CPU使用率,包括:
通过运行perf命令收集所述待检测进程当前的CPI值和当前的CPU使用率。
一种CPU性能冲突的检测装置,应用于客户机,所述装置包括:
收集模块,用于收集待检测进程当前的CPI值和当前的CPU使用率,所述待检测进程为待检测业务的任一进程;
查找模块,用于在预先训练的设定模型中,查找与所述待检测进程相对应,且与所述当前的CPU使用率相匹配的设定CPU使用率;其中,训练所述设定模型的输入数据包括所述客户机未部署新业务时所述待检测业务中各个进程的历史CPU使用率和历史CPI值;
第一计算模块,用于计算第一绝对值,所述第一绝对值为所述当前的CPU使用率和所述设定CPU使用率的差值的绝对值;
第一判定模块,用于若所述第一绝对值大于第一预设数值,则判定所述客户机发生了CPU性能冲突,否则查找所述设定模型中与所述设定CPU使用率分别相对应的设定CPI均值和设定CPI标准差;
第二计算模块,用于计算第二绝对值,所述第二绝对值为所述当前的CPI值与所述设定CPI均值的差值的绝对值;
第二判定模块,用于若所述设定CPI标准差大于1且所述第二绝对值大于第二预设数值倍的所述设定CPI标准差,或者所述设定CPI标准差未超过1且所述第二绝对值大于所述第二预设数值,则判定所述客户机发生了CPU性能冲突。
优选的,还包括:
接收模块,用于接收服务器下发的所述设定模型;所述设定模型由所述服务器利用所述客户机未部署新业务时上报的所述待检测业务中各个进程的历史CPU使用率和历史CPI值作为输入数据经训练生成。
优选的,还包括:
调取模块,用于调取所述客户机未部署新业务时所述待检测业务中各个进程的历史CPU使用率和历史CPI值;
设置模块,用于为每个所述进程设置CPU使用率与CPI的对应关系;所述CPU使用率与CPI的对应关系包括,预设范围内平均划分的预设数目个参考CPU使用率,和与所述参考CPU使用率分别相对应的CPI均值和CPI标准差,其中,所述CPI均值和所述CPI标准差通过属于预设参考范围内的历史CPI值计算得到,所述预设参考范围是与所述参考CPU使用率相差预设浮动值的范围;
训练模块,用于以各所述进程的标号,以及为每个所述进程设置的所述CPU使用率与CPI的对应关系作为输入数据,经训练生成所述设定模型。
优选的,所述设定模型包括所述待检测业务中每个进程的标号,与所述进程的标号相对应的多个参考CPU使用率,则所述查找模块包括:
查找单元,用于在所述设定模型中,查找所述待检测进程的标号;
选择单元,用于在所述待检测进程的标号对应的多个参考CPU使用率中,选择与所述当前的CPU使用率最接近的参考CPU使用率为所述设定CPU使用率。
优选的,还包括:
第一发送模块,用于将所述待检测进程的标号、所述当前的CPI值和所述当前的CPU使用率上传至服务器。
优选的,还包括:
第二发送模块,用于若判定所述客户机发生了CPU性能冲突,发送提醒信息至服务器,以使所述服务器在接收到预设数目个所述提醒信息时生成告警信息。
优选的,所述收集模块包括:
收集单元,用于通过运行perf命令收集所述待检测进程当前的CPI值和当前的CPU使用率。
一种CPU性能冲突的检测系统,包括:
客户机,以及与所述客户机相连接的服务器;
所述客户机用于:收集待检测进程当前的CPI值和当前的CPU使用率,所述待检测进程为待检测业务的任一进程;在预先训练的设定模型中,查找与所述待检测进程相对应,且与所述当前的CPU使用率相匹配的设定CPU使用率,其中,训练所述设定模型的输入数据包括所述客户机未部署新业务时所述待检测业务中各个进程的历史CPU使用率和历史CPI值;计算第一绝对值,所述第一绝对值为所述当前的CPU使用率和所述设定CPU使用率的差值的绝对值;若所述第一绝对值大于第一预设数值,则判定所述客户机发生了CPU性能冲突,否则查找所述设定模型中与所述设定CPU使用率分别相对应的设定CPI均值和设定CPI标准差;计算第二绝对值,所述第二绝对值为所述当前的CPI值与所述设定CPI均值的差值的绝对值;若所述设定CPI标准差大于1且所述第二绝对值大于第二预设数值倍的所述设定CPI标准差,或者所述设定CPI标准差未超过1且所述第二绝对值大于所述第二预设数值,则判定所述客户机发生了CPU性能冲突;若判定所述客户机发生了CPU性能冲突,发送提醒信息至所述服务器;
所述服务器用于,当接收到预设数目个所述提醒信息时生成告警信息。
优选的,所述服务器还用于:
获取所述客户机未部署新业务时上报的所述待检测业务中各个进程的历史CPU使用率和历史CPI值;
为每个所述进程设置CPU使用率与CPI的对应关系;所述CPU使用率与CPI的对应关系包括,预设范围内平均划分的预设数目个参考CPU使用率,和与所述参考CPU使用率分别相对应的CPI均值和CPI标准差,其中,所述CPI均值和所述CPI标准差通过属于预设参考范围内的历史CPI值计算得到,所述预设参考范围是与所述参考CPU使用率相差预设浮动值的范围;
以各所述进程的标号,以及为每个所述进程设置的所述CPU使用率与CPI的对应关系作为输入数据,经训练得到所述设定模型。
优选的,所述客户机还用于:
调取所述客户机未部署新业务时所述待检测业务中各个进程的历史CPU使用率和历史CPI值;
为每个所述进程设置CPU使用率与CPI的对应关系;所述CPU使用率与CPI的对应关系包括,预设范围内平均划分的预设数目个参考CPU使用率,和与所述参考CPU使用率分别相对应的CPI均值和CPI标准差,其中,所述CPI均值和所述CPI标准差通过属于预设参考范围内的历史CPI值计算得到,所述预设参考范围是与所述参考CPU使用率相差预设浮动值的范围;
以各所述进程的标号,以及为每个所述进程设置的所述CPU使用率与CPI的对应关系作为输入数据,经训练生成所述设定模型。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种CPU性能冲突的检测方法、装置及系统。本发明提供的技术方案,利用预先训练的设定模型来帮助判定客户机是否发生了CPU性能冲突,所述设定模型采用以CPU频率作为维度,结合CPI作为判断指标,即所述设定模型建立了CPU频率与CPI的对应关系,在对CPU性能冲突进行实际检测时,在预先训练的设定模型中查找与所述待检测进程相对应,且与所述当前的CPU使用率相匹配的设定CPU使用率,若所述当前的CPU使用率和所述设定CPU使用率的差值的绝对值大于预先设定的第一预设数值,则可以判定所述客户机发生了CPU性能冲突,否则查找所述设定模型中与所述设定CPU使用率分别相对应的设定CPI均值和设定CPI标准差,以设定CPI均值和设定CPI标准差CPI作为参量通过相关运算来判定所述客户机是否发生了CPU性能冲突。本发明提供的技术方案,所述设定模型可以通过客户机待检测业务各进程的历史CPU使用率和历史CPI值来训练,能够覆盖到现实业务场景中请求量较大幅度波动时对应的CPU使用率,从而即使现实业务场景中,请求量出现较大幅度的波动,设定模型仍然包括与请求量较大幅度波动时的CPU使用率相对应的设定CPU使用率,以及与设定CPU使用率分别相对应的设定CPI均值和设定CPI标准差,从而运用本发明的技术方案仍然能够比较准确的对CPU性能冲突进行检测,即本发明提供的技术方案能够更好的适用于现实业务场景,从而能够更加准确的对CPU性能冲突进行检测。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的CPU性能冲突的检测系统的结构图;
图2为本发明实施例提供的一种CPU性能冲突的检测方法的信令流程图;
图3为本发明实施例提供的CPU性能冲突的检测方法的流程图;
图4为本发明实施例提供的CPU性能冲突的检测装置的结构框图;
图5为本发明实施例提供的客户机的硬件结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的CPU性能冲突的检测系统的结构图,本发明实施例提供的CPU性能冲突的检测方法可基于图1所示CPU性能冲突的检测系统进行,参照图1,该CPU性能冲突的检测系统可以包括:客户机11,与所述客户机11相连接的服务器12;
所述客户机11可以是client(客户)端服务器,如HTTP(Hyper Text TransferProtocol,超文本传输协议)服务器等,用于执行具体的现网业务(服务程序);所述服务器12用于对所述客户机11进行监控,判断在所述客户机11上运行的现网业务是否正常;
本发明实施例中,所述客户机11用于:收集待检测进程当前的CPI值和当前的CPU使用率,所述待检测进程为待检测业务的任一进程;在预先训练的设定模型中,查找与所述待检测进程相对应,且与所述当前的CPU使用率相匹配的设定CPU使用率,其中,训练所述设定模型的输入数据包括所述客户机未部署新业务时上报的所述待检测业务中各个进程的历史CPU使用率和历史CPI值;计算第一绝对值,所述第一绝对值为所述当前的CPU使用率和所述设定CPU使用率的差值的绝对值;若所述第一绝对值大于第一预设数值,则判定所述客户机发生了CPU性能冲突,否则查找所述设定模型中与所述设定CPU使用率分别相对应的设定CPI均值和设定CPI标准差;计算第二绝对值,所述第二绝对值为所述当前的CPI值与所述设定CPI均值的差值的绝对值;若所述设定CPI标准差大于1且所述第二绝对值大于第二预设数值倍的所述设定CPI标准差,或者所述设定CPI标准差未超过1且所述第二绝对值大于所述第二预设数值,则判定所述客户机发生了CPU性能冲突;若判定所述客户机发生了CPU性能冲突,发送提醒信息至所述服务器12;
所述服务器12用于:当接收到预设数目个所述提醒信息时生成告警信息。
具体的,所述服务器12当接收到预设数目个所述提醒信息时生成告警信息,以提醒维护人员所述客户机11上运行的现网业务可能出现延迟,未能正常运行,从而方便维护人员及时核查客户机11上现网业务的运行情况,及时发现并解决问题,保障客户机11上现网业务的正常运行。
需要说明的是,所述现网业务是客户机11自身优先运行的业务,鉴于一些客户机11自身的系统资源充足,在运行现网业务后仍有较为充足的系统资源闲置,因此,为了充分利用客户机11的系统资源,有时会为客户机11配置一些现网业务之外的其它业务(即其它服务程序)。可以理解的是,为客户机11配置的其它业务应当在不影响或者不显著影响现网业务,因此,对客户机11现网业务的运行情况进行监控变得很有必要,而通过对现网业务中具体进程的监控,判断不同进程之间是否存在干扰,如存在,则说明发生了CPU性能冲突,势必会影响现网业务的正常运行。可以理解的是,本发明实施例中所述待检测任务即为所述现网业务。
具体的,本发明实施例提供的CPU性能冲突的检测系统,以CPU使用率和CPI值相结合,用来判断客户机11是否发生了CPU性能冲突。
本发明提供的技术方案,客户机利用预先训练的设定模型来帮助判定是否发生了CPU性能冲突,所述设定模型采用以CPU频率作为维度,结合CPI作为判断指标,即所述设定模型建立了CPU频率与CPI的对应关系,在对CPU性能冲突进行实际检测时,在预先训练的设定模型中查找与所述待检测进程相对应,且与所述当前的CPU使用率相匹配的设定CPU使用率,若所述当前的CPU使用率和所述设定CPU使用率的差值的绝对值大于预先设定的第一预设数值,则可以判定所述客户机发生了CPU性能冲突,否则查找所述设定模型中与所述设定CPU使用率分别相对应的设定CPI均值和设定CPI标准差,以设定CPI均值和设定CPI标准差CPI作为参量通过相关运算来判定所述客户机是否发生了CPU性能冲突。本发明提供的技术方案,所述设定模型可以通过客户机待检测业务各进程的历史CPU使用率和历史CPI值来训练,能够覆盖到现实业务场景中请求量较大幅度波动时对应的CPU使用率,从而即使现实业务场景中,请求量出现较大幅度的波动,设定模型仍然包括与请求量较大幅度波动时的CPU使用率相对应的设定CPU使用率,以及与设定CPU使用率分别相对应的设定CPI均值和设定CPI标准差,从而运用本发明的技术方案仍然能够比较准确的对CPU性能冲突进行检测,即本发明提供的技术方案能够更好的适用于现实业务场景,从而能够更加准确的对CPU性能冲突进行检测。
由于客户机能够更加准确的对CPU性能冲突进行检测,本发明实施例提供的CPU性能冲突的检测系统,便能够更有效和可靠的对客户机进行监控。
另外,一些业务场景中,请求量完全没有规律(比如第一天的8:00有较大的请求量,其余时间请求量较小,第二天在14:00有较大的请求量,其余时间请求量较小,第三天在18:00有较大的请求量,其余时间请求量较小),因此,由于请求量与时间毫无规律可言,现有技术想要采用CPI作为判断指标,同时辅以时间维度来建立“时间和CPI”模型,根本无法实现。而本发明实施例的设定模型是采用CPU使用率和CPI训练生成,与时间没有关系,不管请求量是否规律,请求量都会通过CPU使用率和CPI得到反映,因此,本发明实施例的应用范围更广,更具有普适性。
可选的,所述服务器12还用于:
获取所述客户机未部署新业务时上报的所述待检测业务中各个进程的历史CPU使用率和历史CPI值;
为每个所述进程设置CPU使用率与CPI的对应关系;
具体的,所述CPU使用率与CPI的对应关系包括,预设范围内平均划分的预设数目个参考CPU使用率,和与所述参考CPU使用率分别相对应的CPI均值和CPI标准差,其中,所述CPI均值和所述CPI标准差通过属于预设参考范围内的历史CPI值计算得到,所述预设参考范围是与所述参考CPU使用率相差预设浮动值的范围;
可选的,所述预设范围可以为0~100%,所述预设数目可以为1000,则可以划分出1000个所述参考CPU使用率,从0.1%,0.2%,0.3%……99.7%,99.8%,99.9%,100%(任意相邻两个参考CPU使用率相差0.1%);所述预设浮动值不超过任意相邻两个参考CPU使用率之间的差值,可选的,为0.05%;可以理解的是,比如所述参考CPU使用率为0.6%,则所述参考CPU使用率对应的预设参考范围为[0.55%~0.65%],则所述与所述参考CPU使用率相对应的CPI均值为属于[0.55%~0.65%]内的各历史CPI值的平均值,所述与所述参考CPU使用率相对应的CPI标准差为属于[0.55%~0.65%]内的各历史CPI值的标准差。
以各所述进程的标号,以及为每个所述进程设置的所述CPU使用率与CPI的对应关系作为输入数据,经训练得到所述设定模型。
也就是说,所述服务器12可以用于训练所述设定模型。
由上述内容可以确定,所述设定模型可以包括:所述待检测业务中每个进程的标号,以及为每个所述进程设置的所述CPU使用率与CPI的对应关系;所述CPU使用率与CPI的对应关系包括,预设范围内平均划分的预设数目个参考CPU使用率,和与所述参考CPU使用率分别相对应的CPI均值和CPI标准差,其中,所述CPI均值和所述CPI标准差通过属于预设参考范围内的历史CPI值计算得到,所述预设参考范围是与所述参考CPU使用率相差预设浮动值的范围。
可选的,发明人通过大量实验发现,当CPU利用率很低的时候,CPI的取值是不具有统计规律的,因此,服务器12可以在训练所述设定模型之前,删除不具有统计规律的所述CPU使用率与CPI的对应关系(即所述设定模型的输入数据),从而排除噪声(即不具有统计规律的所述CPU使用率与CPI的对应关系)干扰。其中,不具有统计规律的任一所述CPU使用率与CPI的对应关系中,其CPU使用率均未达到设定数值(的CPU使用率);可选的,所述设定数值小于或等于0.25%(CPU使用率)。当然,可以理解的是,服务器12也可以在所述为每个所述进程设置CPU使用率与CPI的对应关系之前,直接删除未达到设定数值的CPU使用率及其对应的CPI值,目的是使训练所述设定模型的输入数据不再包括未达到所述设定数值的CPU使用率及其对应的CPI相关数据。通过上述方式,能够排除噪声(即未达到设定数值的CPU使用率及其对应的CPI值)干扰,提高所述设定模型的可靠性。
可以理解的是,训练生成所述设定模型之后,可以对所述设定模型进行有效性校验,可以通过定向干扰来计算设定模型的准确率和召回率,当满足设定召回率(如99%)和设定准确率(如90%)时,则可以判定该设定模型为有效模型,其中,设定召回率和设定准确率的取值与所述待检测任务有关。所述定向干扰,具体可以为通过写脚本的方式生成一个模拟的新业务,将该模拟的新业务运行在所述客户机上,用以对现网业务形成干扰。
也就是说,使用准确率和召回率可以衡量设定模型的有效性,由于准确率和召回率为目前本领域技术人员熟知的衡量指标,本发明实施例仅作简单介绍:
假设在一次实验中,检测出冲突N次,其中正确检测出冲突N1次,而真实干扰总次数为N2,那么:
准确率precision=N1/N,表示利用该模型检测出冲突并告警的准确程度,准确率越高,告警越可信;
召回率recall=N1/N2,表示利用该模型发现冲突的能力,召回率越高,则说明漏检次数越少;
其中,检测出冲突N次是指应用本发明实施例技术方案检测出冲突的次数;而正确检测出冲突N1次以及真实干扰总次数N2均需要相关实验人员结合具体实验场景,并做相应的处理后才能够确定,具体确定过程在现有技术中已比较成熟,不再赘述。
需要说明的是,本发明实施例上述内容旨在提供训练所述设定模型的具体方式以及说明如何确保所述设定模型更加有效和可靠,本发明实施例得到的设定模型当然可以进行继续校验以进一步提高其有效性和可靠性。此外,本发明实施例不限制训练所述设定模型时所用到的历史CPU使用率和历史CPI值的数据量、采样时间点和采样时长,只要训练生成的设定模型的准确率和召回率满足要求即可。当然可以理解的是,所述数据量越大,所述采样时间点分布越广(比如一天的0:00到24:00点全覆盖),所述采样时长越长(比如采集一个月的数据),最终训练生成的设定模型的准确率和召回率更容易满足要求。
此外,可以理解的是,在客户机自身的系统资源足够的情况下,其实,客户机11也可以自己来训练所述设定模型,则所述客户机11还用于:
调取所述客户机未部署新业务时所述待检测业务中各个进程的历史CPU使用率和历史CPI值;
可选的,所述客户机11可以从自身配置的相关存储介质中调取,或者可以从服务器12获取所述客户机11未部署新业务时所述待检测业务中各个进程的历史CPU使用率和历史CPI值。
为每个所述进程设置CPU使用率与CPI的对应关系;
具体的,所述CPU使用率与CPI的对应关系包括,预设范围内平均划分的预设数目个参考CPU使用率,和与所述参考CPU使用率分别相对应的CPI均值和CPI标准差,其中,所述CPI均值和所述CPI标准差通过属于预设参考范围内的历史CPI值计算得到,所述预设参考范围是与所述参考CPU使用率相差预设浮动值的范围。
以各所述进程的标号,以及为每个所述进程设置的所述CPU使用率与CPI的对应关系作为输入数据,经训练生成所述设定模型。
基于图1所示CPU性能冲突的检测系统,图2示出了本发明实施例提供的一种CPU性能冲突的检测方法的信令流程,参照图2,该流程可以包括:
步骤S11、服务器向客户机下发设定模型;
具体的,所述设定模型由所述服务器利用所述客户机未部署新业务时上报的所述待检测业务中各个进程的历史CPU使用率和历史CPI值作为输入数据经训练生成,由于具体训练过程在上文已有说明,此处不再详述。
步骤S12、客户机收集待检测进程当前的CPI值和当前的CPU使用率;
具体的,所述待检测进程为待检测业务的任一进程;所述待检测业务为所述客户机的现网业务。
可选的,客户机通过运行perf命令收集所述待检测进程当前的CPI值和当前的CPU使用率。
步骤S13、客户机在所述设定模型中,查找与所述待检测进程相对应,且与所述当前的CPU使用率相匹配的设定CPU使用率;
可选的,所述设定模型包括所述待检测业务中每个进程的标号,与所述进程的标号相对应的多个参考CPU使用率,则所述步骤S13可以包括:
在所述设定模型中,查找所述待检测进程的标号;
在所述待检测进程的标号对应的多个参考CPU使用率中,选择与所述当前的CPU使用率最接近的参考CPU使用率为所述设定CPU使用率。
具体的,多个参考CPU使用率中与所述当前的CPU使用率最接近的参考CPU使用率是指,多个参考CPU使用率中与当前的CPU使用率差值的绝对值最小的参考CPU使用率。
步骤S14、客户机计算第一绝对值,所述第一绝对值为所述当前的CPU使用率和所述设定CPU使用率的差值的绝对值;
步骤S15、若所述第一绝对值大于第一预设数值,则客户机判定所述客户机发生了CPU性能冲突,否则查找所述设定模型中与所述设定CPU使用率分别相对应的设定CPI均值和设定CPI标准差;
具体的,若所述第一绝对值大于第一预设数值,则客户机判定所述待检测进程受到了干扰,即客户机发生了CPU性能冲突。可以理解的是,由于所述待检测进程为所述待检测业务的进程,因此,若所述待检测进程受到了干扰,则可以确定所述待检测业务受到了干扰,
可选的,所述第一预设数值为0.3,即30%的CPU使用率;若所述第一绝对值为所述当前的CPU使用率和所述设定CPU使用率的差值超过了0.3,则可以直接判定所述客户机发生了CPU性能冲突。也就是说,若所述第一绝对值大于第一预设数值,说明当前的CPU使用率已经超出所述待检测业务正常运行时所述待检测进程对应的CPU使用率的范围。
步骤S16、客户机计算第二绝对值,所述第二绝对值为所述当前的CPI值与所述设定CPI均值的差值的绝对值;
步骤S17,若所述设定CPI标准差大于1且所述第二绝对值大于第二预设数值倍的所述设定CPI标准差,或者所述设定CPI标准差未超过1且所述第二绝对值大于所述第二预设数值,则客户机判定所述客户机发生了CPU性能冲突;
具体的,若所述设定CPI标准差大于1且所述第二绝对值大于第二预设数值倍的所述设定CPI标准差,则客户机判定所述待检测进程受到了干扰,即客户机发生了CPU性能冲突;
或者若所述设定CPI标准差未超过1且所述第二绝对值大于所述第二预设数值,则客户机判定所述待检测进程受到了干扰,即客户机发生了CPU性能冲突。
具体的,所述第二预设数值的取值与具体的业务场景有关,需要结合训练所述设定模型时的准确率和召回率来定义,目前,可选的值为2。
步骤S18,若判定所述客户机发生了CPU性能冲突,客户机发送提醒信息至服务器;
步骤S19,服务器在接收到预设数目个所述提醒信息时生成告警信息;
具体的,服务器当接收到预设数目个所述提醒信息时生成告警信息,以提醒维护人员所述客户机上运行的现网业务可能出现延迟,未能正常运行,从而方便维护人员及时核查客户机上现网业务的运行情况,及时发现并解决问题,保障客户机上现网业务的正常运行。
步骤S20,客户机将所述待检测进程的标号、所述当前的CPI值和所述当前的CPU使用率上传至服务器;
具体的,客户机将所述待检测进程的标号、所述当前的CPI值和所述当前的CPU使用率上传至服务器,以使服务器保存所述待检测进程的标号、所述当前的CPI值和所述当前的CPU使用率,方便后续分析和使用。
本发明实施例提供的技术方案,利用预先训练的设定模型来帮助判定客户机是否发生了CPU性能冲突,所述设定模型采用以CPU频率作为维度,结合CPI作为判断指标,即所述设定模型建立了CPU频率与CPI的对应关系,在对CPU性能冲突进行实际检测时,在预先训练的设定模型中查找与所述待检测进程相对应,且与所述当前的CPU使用率相匹配的设定CPU使用率,若所述当前的CPU使用率和所述设定CPU使用率的差值的绝对值大于预先设定的第一预设数值,则可以判定所述客户机发生了CPU性能冲突,否则查找所述设定模型中与所述设定CPU使用率分别相对应的设定CPI均值和设定CPI标准差,以设定CPI均值和设定CPI标准差CPI作为参量通过相关运算来判定所述客户机是否发生了CPU性能冲突。本发明实施例提供的技术方案,所述设定模型可以通过客户机待检测业务各进程的历史CPU使用率和历史CPI值来训练,能够覆盖到现实业务场景中请求量较大幅度波动时对应的CPU使用率,从而即使现实业务场景中,请求量出现较大幅度的波动,设定模型仍然包括与请求量较大幅度波动时的CPU使用率相对应的设定CPU使用率,以及与设定CPU使用率分别相对应的设定CPI均值和设定CPI标准差,从而运用本发明实施例的技术方案仍然能够比较准确的对CPU性能冲突进行检测,即本发明实施例提供的技术方案能够更好的适用于现实业务场景,从而能够更加准确的对CPU性能冲突进行检测。
此外,由于本发明实施例能够更加准确的对CPU性能冲突进行检测,因此,也就能够更有效和可靠的对客户机进行监控。
另外,一些业务场景中,请求量完全没有规律(比如第一天的8:00有较大的请求量,其余时间请求量较小,第二天在14:00有较大的请求量,其余时间请求量较小,第三天在18:00有较大的请求量,其余时间请求量较小),因此,由于请求量与时间毫无规律可言,现有技术想要采用CPI作为判断指标,同时辅以时间维度来建立“时间和CPI”模型,根本无法实现。而本发明实施例的设定模型是采用CPU使用率和CPI训练生成,与时间没有关系,不管请求量是否规律,请求量都会通过CPU使用率和CPI得到反映,因此,本发明实施例的应用范围更广,更具有普适性。
相应的,站在客户机的角度,本发明提供的CPU性能冲突的检测方法可以如图3所示,图3示出了本发明实施例提供的CPU性能冲突的检测方法的流程图,该流程可应用于客户机,参照图3,该流程可以包括:
步骤S101、收集待检测进程当前的CPI值和当前的CPU使用率,所述待检测进程为待检测业务的任一进程;
可选的,通过运行perf命令收集所述待检测进程当前的CPI值和当前的CPU使用率。
步骤S102、在预先训练的设定模型中,查找与所述待检测进程相对应,且与所述当前的CPU使用率相匹配的设定CPU使用率;
具体的,训练所述设定模型的输入数据包括所述客户机未部署新业务时所述待检测业务中各个进程的历史CPU使用率和历史CPI值。
可选的,所述设定模型包括所述待检测业务中每个进程的标号,与所述进程的标号相对应的多个参考CPU使用率,则所述步骤S102可以包括:
在所述设定模型中,查找所述待检测进程的标号;
在所述待检测进程的标号对应的多个参考CPU使用率中,选择与所述当前的CPU使用率最接近的参考CPU使用率为所述设定CPU使用率。
步骤S103、计算第一绝对值,所述第一绝对值为所述当前的CPU使用率和所述设定CPU使用率的差值的绝对值;
步骤S104,若所述第一绝对值大于第一预设数值,则判定所述客户机发生了CPU性能冲突,否则查找所述设定模型中与所述设定CPU使用率分别相对应的设定CPI均值和设定CPI标准差;
步骤S105,计算第二绝对值,所述第二绝对值为所述当前的CPI值与所述设定CPI均值的差值的绝对值;
步骤S106,若所述设定CPI标准差大于1且所述第二绝对值大于第二预设数值倍的所述设定CPI标准差,或者所述设定CPI标准差未超过1且所述第二绝对值大于所述第二预设数值,则判定所述客户机发生了CPU性能冲突。
本发明提供的技术方案,客户机利用预先训练的设定模型来帮助判定是否发生了CPU性能冲突,所述设定模型采用以CPU频率作为维度,结合CPI作为判断指标,即所述设定模型建立了CPU频率与CPI的对应关系,在对CPU性能冲突进行实际检测时,在预先训练的设定模型中查找与所述待检测进程相对应,且与所述当前的CPU使用率相匹配的设定CPU使用率,若所述当前的CPU使用率和所述设定CPU使用率的差值的绝对值大于预先设定的第一预设数值,则可以判定所述客户机发生了CPU性能冲突,否则查找所述设定模型中与所述设定CPU使用率分别相对应的设定CPI均值和设定CPI标准差,以设定CPI均值和设定CPI标准差CPI作为参量通过相关运算来判定所述客户机是否发生了CPU性能冲突。本发明提供的技术方案,所述设定模型可以通过客户机待检测业务各进程的历史CPU使用率和历史CPI值来训练,能够覆盖到现实业务场景中请求量较大幅度波动时对应的CPU使用率,从而即使现实业务场景中,请求量出现较大幅度的波动,设定模型仍然包括与请求量较大幅度波动时的CPU使用率相对应的设定CPU使用率,以及与设定CPU使用率分别相对应的设定CPI均值和设定CPI标准差,从而运用本发明的技术方案仍然能够比较准确的对CPU性能冲突进行检测,即本发明提供的技术方案能够更好的适用于现实业务场景,从而能够更加准确的对CPU性能冲突进行检测。
可选的,所述步骤S102之前,还包括:
接收服务器下发的所述设定模型;所述设定模型由所述服务器利用所述客户机未部署新业务时上报的所述待检测业务中各个进程的历史CPU使用率和历史CPI值作为输入数据经训练生成。
或者,可选的,所述步骤S102之前,还包括:
调取所述客户机未部署新业务时所述待检测业务中各个进程的历史CPU使用率和历史CPI值;
为每个所述进程设置CPU使用率与CPI的对应关系;
所述CPU使用率与CPI的对应关系包括,预设范围内平均划分的预设数目个参考CPU使用率,和与所述参考CPU使用率分别相对应的CPI均值和CPI标准差,其中,所述CPI均值和所述CPI标准差通过属于预设参考范围内的历史CPI值计算得到,所述预设参考范围是与所述参考CPU使用率相差预设浮动值的范围;
以各所述进程的标号,以及为每个所述进程设置的所述CPU使用率与CPI的对应关系作为输入数据,经训练生成所述设定模型。
也就是说,客户机可以从服务器接收由服务器训练生成的所述设定模型,也可以客户端自身来训练生成所述设定模型。
可选的,本发明提供的(应用于客户机的)CPU性能冲突的检测方法,还可以包括:
将所述待检测进程的标号、所述当前的CPI值和所述当前的CPU使用率上传至服务器。
可选的,本发明提供的(应用于客户机的)CPU性能冲突的检测方法,还可以包括:
若判定所述客户机发生了CPU性能冲突,发送提醒信息至服务器,以使所述服务器在接收到预设数目个所述提醒信息时生成告警信息。
本发明实施例可以应用到弹性计算平台的底层监控,其中,弹性计算平台包括服务器和客户机(client服务器),客户机用于提供现网业务,如http业务、图片压缩业务、视频转码业务或计算业务等,服务器用于对客户机进行监控,以判断在所述客户机上运行的现网业务是否正常。下面以客户机为提供http业务(即待检测业务为http业务)的客户机为例,对本发明实施例提供的CPU性能冲突的检测方法的应用过程进行介绍。
客户机接收服务器下发的与http业务相对应的设定模型;
所述设定模型由所述服务器利用所述客户机未部署新业务时上报的http业务(现网业务)中各个进程的历史CPU使用率和历史CPI值作为输入数据经训练生成。
客户机收集待检测进程当前的CPI值和当前的CPU使用率,其中,所述待检测进程为http业务的任一进程;
客户机在所述设定模型中,查找与所述待检测进程相对应,且与所述当前的CPU使用率相匹配的设定CPU使用率;
客户机计算第一绝对值,所述第一绝对值为所述当前的CPU使用率和所述设定CPU使用率的差值的绝对值;
若所述第一绝对值大于第一预设数值,则客户机判定http业务的所述待检测进程受到了干扰,即http业务运行异常,也就是所述客户机发生了CPU性能冲突,否则查找所述设定模型中与所述设定CPU使用率分别相对应的设定CPI均值和设定CPI标准差;
客户机计算第二绝对值,所述第二绝对值为所述当前的CPI值与所述设定CPI均值的差值的绝对值;
若所述设定CPI标准差大于1且所述第二绝对值大于第二预设数值倍的所述设定CPI标准差,或者所述设定CPI标准差未超过1且所述第二绝对值大于所述第二预设数值,则客户机判定http业务的所述待检测进程受到了干扰,即http业务运行异常,也就是所述客户机发生了CPU性能冲突;
若判定所述客户机发生了CPU性能冲突,客户机发送提醒信息至服务器;
服务器在接收到预设数目个所述提醒信息时生成告警信息;
客户机将所述待检测进程的标号、所述当前的CPI值和所述当前的CPU使用率上传至服务器。
可以看出,所述设定模型可以通过客户机待检测业务各进程的历史CPU使用率和历史CPI值来训练,能够覆盖到现实业务场景中请求量较大幅度波动时对应的CPU使用率,从而即使现实业务场景中,请求量出现较大幅度的波动,设定模型仍然包括与请求量较大幅度波动时的CPU使用率相对应的设定CPU使用率,以及与设定CPU使用率分别相对应的设定CPI均值和设定CPI标准差,从而运用本发明实施例的技术方案仍然能够比较准确的对CPU性能冲突进行检测,即本发明实施例提供的技术方案能够更好的适用于现实业务场景,从而能够更加准确的对CPU性能冲突进行检测。
此外,由于本发明实施例能够更加准确的对CPU性能冲突进行检测,因此,也就能够更有效和可靠的对客户机进行监控。
下面对本发明实施例提供的CPU性能冲突的检测装置进行介绍,下文描述的CPU性能冲突的检测装置可与上文流程内容相互对应参照。下文描述的CPU性能冲突的检测装置的模块可以认为是CPU性能冲突的检测装置为实现跨平台数据互通一致性的测试,所需设置的功能模块架构。
图4为本发明实施例提供的CPU性能冲突的检测装置的结构框图。本发明实施例提供的CPU性能冲突的检测装置应用于服务器,参照图4,该CPU性能冲突的检测装置可以包括:
收集模块101,用于收集待检测进程当前的CPI值和当前的CPU使用率,所述待检测进程为待检测业务的任一进程;
可选的,所述收集模块101包括:
收集单元,用于通过运行perf命令收集所述待检测进程当前的CPI值和当前的CPU使用率。
查找模块102,用于在预先训练的设定模型中,查找与所述待检测进程相对应,且与所述当前的CPU使用率相匹配的设定CPU使用率;其中,训练所述设定模型的输入数据包括所述客户机未部署新业务时所述待检测业务中各个进程的历史CPU使用率和历史CPI值;
可选的,所述设定模型包括所述待检测业务中每个进程的标号,与所述进程的标号相对应的多个参考CPU使用率,则所述查找模块102包括:
查找单元,用于在所述设定模型中,查找所述待检测进程的标号;
选择单元,用于在所述待检测进程的标号对应的多个参考CPU使用率中,选择与所述当前的CPU使用率最接近的参考CPU使用率为所述设定CPU使用率。
第一计算模块103,用于计算第一绝对值,所述第一绝对值为所述当前的CPU使用率和所述设定CPU使用率的差值的绝对值;
第一判定模块104,用于若所述第一绝对值大于第一预设数值,则判定所述客户机发生了CPU性能冲突,否则查找所述设定模型中与所述设定CPU使用率分别相对应的设定CPI均值和设定CPI标准差;
第二计算模块105,用于计算第二绝对值,所述第二绝对值为所述当前的CPI值与所述设定CPI均值的差值的绝对值;
第二判定模块106,用于若所述设定CPI标准差大于1且所述第二绝对值大于第二预设数值倍的所述设定CPI标准差,或者所述设定CPI标准差未超过1且所述第二绝对值大于所述第二预设数值,则判定所述客户机发生了CPU性能冲突。
本发明实施例提供的CPU性能冲突的检测装置,所述设定模型可以通过客户机待检测业务各进程的历史CPU使用率和历史CPI值来训练,能够覆盖到现实业务场景中请求量较大幅度波动时对应的CPU使用率,从而即使现实业务场景中,请求量出现较大幅度的波动,设定模型仍然包括与请求量较大幅度波动时的CPU使用率相对应的设定CPU使用率,以及与设定CPU使用率分别相对应的设定CPI均值和设定CPI标准差,从而运用本发明实施例的技术方案仍然能够比较准确的对CPU性能冲突进行检测,即本发明实施例提供的技术方案能够更好的适用于现实业务场景,从而能够更加准确的对CPU性能冲突进行检测。
可选的,本发明另一实施例提供的CPU性能冲突的检测装置,还包括:
接收模块,用于接收服务器下发的所述设定模型;所述设定模型由所述服务器利用所述客户机未部署新业务时上报的所述待检测业务中各个进程的历史CPU使用率和历史CPI值作为输入数据经训练生成。
可选的,本发明另一实施例提供的CPU性能冲突的检测装置,还包括:
调取模块,用于调取所述客户机未部署新业务时所述待检测业务中各个进程的历史CPU使用率和历史CPI值;
设置模块,用于为每个所述进程设置CPU使用率与CPI的对应关系;所述CPU使用率与CPI的对应关系包括,预设范围内平均划分的预设数目个参考CPU使用率,和与所述参考CPU使用率分别相对应的CPI均值和CPI标准差,其中,所述CPI均值和所述CPI标准差通过属于预设参考范围内的历史CPI值计算得到,所述预设参考范围是与所述参考CPU使用率相差预设浮动值的范围;
训练模块,用于以各所述进程的标号,以及为每个所述进程设置的所述CPU使用率与CPI的对应关系作为输入数据,经训练生成所述设定模型。
可选的,本发明另一实施例提供的CPU性能冲突的检测装置,还包括:
第一发送模块,用于将所述待检测进程的标号、所述当前的CPI值和所述当前的CPU使用率上传至服务器。
可选的,本发明另一实施例提供的CPU性能冲突的检测装置,还包括:
第二发送模块,用于若判定所述客户机发生了CPU性能冲突,发送提醒信息至服务器,以使所述服务器在接收到预设数目个所述提醒信息时生成告警信息。
图5示出了客户机的硬件结构框图,参照图5,客户机可以包括:CPU1,通信接口2,存储器3和通信总线4;
其中CPU1、通信接口2、存储器3通过通信总线4完成相互间的通信;
可选的,通信接口2可以为通信模块的接口;
CPU1,用于执行程序;
存储器3,用于存放程序;
程序可以包括程序代码,所述程序代码包括计算机操作指令。
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
其中,所述程序可具体用于:
收集待检测进程当前的CPI值和当前的CPU使用率,所述待检测进程为待检测业务的任一进程;
在预先训练的设定模型中,查找与所述待检测进程相对应,且与所述当前的CPU使用率相匹配的设定CPU使用率;其中,训练所述设定模型的输入数据包括所述客户机未部署新业务时所述待检测业务中各个进程的历史CPU使用率和历史CPI值;
计算第一绝对值,所述第一绝对值为所述当前的CPU使用率和所述设定CPU使用率的差值的绝对值;
若所述第一绝对值大于第一预设数值,则判定所述客户机发生了CPU性能冲突,否则查找所述设定模型中与所述设定CPU使用率分别相对应的设定CPI均值和设定CPI标准差;
计算第二绝对值,所述第二绝对值为所述当前的CPI值与所述设定CPI均值的差值的绝对值;
若所述设定CPI标准差大于1且所述第二绝对值大于第二预设数值倍的所述设定CPI标准差,或者所述设定CPI标准差未超过1且所述第二绝对值大于所述第二预设数值,则判定所述客户机发生了CPU性能冲突。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (18)

1.一种CPU性能冲突的检测方法,应用于客户机,其特征在于,所述方法包括:
收集待检测进程当前的平均执行周期数CPI值和当前的CPU使用率,所述待检测进程为待检测业务的任一进程;
在预先训练的设定模型中,查找与所述待检测进程相对应,且与所述当前的CPU使用率相匹配的设定CPU使用率;其中,训练所述设定模型的输入数据包括所述客户机未部署新业务时所述待检测业务中各个进程的历史CPU使用率和历史平均执行周期数CPI值;
计算第一绝对值,所述第一绝对值为所述当前的CPU使用率和所述设定CPU使用率的差值的绝对值;
若所述第一绝对值大于第一预设数值,则判定所述客户机发生了CPU性能冲突,否则查找所述设定模型中与所述设定CPU使用率分别相对应的设定平均执行周期数CPI均值和设定平均执行周期数CPI标准差;
计算第二绝对值,所述第二绝对值为所述当前的平均执行周期数CPI值与所述设定平均执行周期数CPI均值的差值的绝对值;
若所述设定平均执行周期数CPI标准差大于1且所述第二绝对值大于第二预设数值倍的所述设定平均执行周期数CPI标准差,或者所述设定平均执行周期数CPI标准差未超过1且所述第二绝对值大于所述第二预设数值,则判定所述客户机发生了CPU性能冲突。
2.根据权利要求1所述的方法,其特征在于,所述在预先训练的设定模型中,查找与所述待检测进程相对应,且与所述当前的CPU使用率相匹配的设定CPU使用率之前,还包括:
接收服务器下发的所述设定模型;所述设定模型由所述服务器利用所述客户机未部署新业务时上报的所述待检测业务中各个进程的历史CPU使用率和历史平均执行周期数CPI值作为输入数据经训练生成。
3.根据权利要求1所述的方法,其特征在于,所述在预先训练的设定模型中,查找与所述待检测进程相对应,且与所述当前的CPU使用率相匹配的设定CPU使用率之前,还包括:
调取所述客户机未部署新业务时所述待检测业务中各个进程的历史CPU使用率和历史平均执行周期数CPI值;
为每个所述进程设置CPU使用率与平均执行周期数CPI的对应关系;所述CPU使用率与平均执行周期数CPI的对应关系包括,预设范围内平均划分的预设数目个参考CPU使用率,和与所述参考CPU使用率分别相对应的平均执行周期数CPI均值和平均执行周期数CPI标准差,其中,所述平均执行周期数CPI均值和所述平均执行周期数CPI标准差通过属于预设参考范围内的历史平均执行周期数CPI值计算得到,所述预设参考范围是与所述参考CPU使用率相差预设浮动值的范围;
以各所述进程的标号,以及为每个所述进程设置的所述CPU使用率与平均执行周期数CPI的对应关系作为输入数据,经训练生成所述设定模型。
4.根据权利要求1所述的方法,其特征在于,所述设定模型包括所述待检测业务中每个进程的标号,与所述进程的标号相对应的多个参考CPU使用率,则在预先训练的设定模型中,查找与所述待检测进程相对应,且与所述当前的CPU使用率相匹配的设定CPU使用率,包括:
在所述设定模型中,查找所述待检测进程的标号;
在所述待检测进程的标号对应的多个参考CPU使用率中,选择与所述当前的CPU使用率最接近的参考CPU使用率为所述设定CPU使用率。
5.根据权利要求1所述的方法,其特征在于,还包括:
将所述待检测进程的标号、所述当前的平均执行周期数CPI值和所述当前的CPU使用率上传至服务器。
6.根据权利要求1项所述的方法,其特征在于,还包括:
若判定所述客户机发生了CPU性能冲突,发送提醒信息至服务器,以使所述服务器在接收到预设数目个所述提醒信息时生成告警信息。
7.根据权利要求1~6任一项所述的方法,其特征在于,所述收集待检测进程当前的平均执行周期数CPI值和当前的CPU使用率,包括:
通过运行perf命令收集所述待检测进程当前的平均执行周期数CPI值和当前的CPU使用率。
8.一种CPU性能冲突的检测装置,应用于客户机,其特征在于,所述装置包括:
收集模块,用于收集待检测进程当前的平均执行周期数CPI值和当前的CPU使用率,所述待检测进程为待检测业务的任一进程;
查找模块,用于在预先训练的设定模型中,查找与所述待检测进程相对应,且与所述当前的CPU使用率相匹配的设定CPU使用率;其中,训练所述设定模型的输入数据包括所述客户机未部署新业务时所述待检测业务中各个进程的历史CPU使用率和历史平均执行周期数CPI值;
第一计算模块,用于计算第一绝对值,所述第一绝对值为所述当前的CPU使用率和所述设定CPU使用率的差值的绝对值;
第一判定模块,用于若所述第一绝对值大于第一预设数值,则判定所述客户机发生了CPU性能冲突,否则查找所述设定模型中与所述设定CPU使用率分别相对应的设定平均执行周期数CPI均值和设定平均执行周期数CPI标准差;
第二计算模块,用于计算第二绝对值,所述第二绝对值为所述当前的平均执行周期数CPI值与所述设定平均执行周期数CPI均值的差值的绝对值;
第二判定模块,用于若所述设定平均执行周期数CPI标准差大于1且所述第二绝对值大于第二预设数值倍的所述设定平均执行周期数CPI标准差,或者所述设定平均执行周期数CPI标准差未超过1且所述第二绝对值大于所述第二预设数值,则判定所述客户机发生了CPU性能冲突。
9.根据权利要求8所述的装置,其特征在于,还包括:
接收模块,用于接收服务器下发的所述设定模型;所述设定模型由所述服务器利用所述客户机未部署新业务时上报的所述待检测业务中各个进程的历史CPU使用率和历史平均执行周期数CPI值作为输入数据经训练生成。
10.根据权利要求8所述的装置,其特征在于,还包括:
调取模块,用于调取所述客户机未部署新业务时所述待检测业务中各个进程的历史CPU使用率和历史平均执行周期数CPI值;
设置模块,用于为每个所述进程设置CPU使用率与平均执行周期数CPI的对应关系;所述CPU使用率与平均执行周期数CPI的对应关系包括,预设范围内平均划分的预设数目个参考CPU使用率,和与所述参考CPU使用率分别相对应的平均执行周期数CPI均值和平均执行周期数CPI标准差,其中,所述平均执行周期数CPI均值和所述平均执行周期数CPI标准差通过属于预设参考范围内的历史平均执行周期数CPI值计算得到,所述预设参考范围是与所述参考CPU使用率相差预设浮动值的范围;
训练模块,用于以各所述进程的标号,以及为每个所述进程设置的所述CPU使用率与平均执行周期数CPI的对应关系作为输入数据,经训练生成所述设定模型。
11.根据权利要求8所述的装置,其特征在于,所述设定模型包括所述待检测业务中每个进程的标号,与所述进程的标号相对应的多个参考CPU使用率,则所述查找模块包括:
查找单元,用于在所述设定模型中,查找所述待检测进程的标号;
选择单元,用于在所述待检测进程的标号对应的多个参考CPU使用率中,选择与所述当前的CPU使用率最接近的参考CPU使用率为所述设定CPU使用率。
12.根据权利要求8所述的装置,其特征在于,还包括:
第一发送模块,用于将所述待检测进程的标号、所述当前的平均执行周期数CPI值和所述当前的CPU使用率上传至服务器。
13.根据权利要求8所述的装置,其特征在于,还包括:
第二发送模块,用于若判定所述客户机发生了CPU性能冲突,发送提醒信息至服务器,以使所述服务器在接收到预设数目个所述提醒信息时生成告警信息。
14.根据权利要求8~13任一项所述的装置,其特征在于,所述收集模块包括:
收集单元,用于通过运行perf命令收集所述待检测进程当前的平均执行周期数CPI值和当前的CPU使用率。
15.一种CPU性能冲突的检测系统,其特征在于,包括:
客户机,以及与所述客户机相连接的服务器;
所述客户机用于:收集待检测进程当前的平均执行周期数CPI值和当前的CPU使用率,所述待检测进程为待检测业务的任一进程;在预先训练的设定模型中,查找与所述待检测进程相对应,且与所述当前的CPU使用率相匹配的设定CPU使用率,其中,训练所述设定模型的输入数据包括所述客户机未部署新业务时所述待检测业务中各个进程的历史CPU使用率和历史平均执行周期数CPI值;计算第一绝对值,所述第一绝对值为所述当前的CPU使用率和所述设定CPU使用率的差值的绝对值;若所述第一绝对值大于第一预设数值,则判定所述客户机发生了CPU性能冲突,否则查找所述设定模型中与所述设定CPU使用率分别相对应的设定平均执行周期数CPI均值和设定平均执行周期数CPI标准差;计算第二绝对值,所述第二绝对值为所述当前的平均执行周期数CPI值与所述设定平均执行周期数CPI均值的差值的绝对值;若所述设定平均执行周期数CPI标准差大于1且所述第二绝对值大于第二预设数值倍的所述设定平均执行周期数CPI标准差,或者所述设定平均执行周期数CPI标准差未超过1且所述第二绝对值大于所述第二预设数值,则判定所述客户机发生了CPU性能冲突;若判定所述客户机发生了CPU性能冲突,发送提醒信息至所述服务器;
所述服务器用于,当接收到预设数目个所述提醒信息时生成告警信息。
16.根据权利要求15所述的系统,其特征在于,所述服务器还用于:
获取所述客户机未部署新业务时上报的所述待检测业务中各个进程的历史CPU使用率和历史平均执行周期数CPI值;
为每个所述进程设置CPU使用率与平均执行周期数CPI的对应关系;所述CPU使用率与平均执行周期数CPI的对应关系包括,预设范围内平均划分的预设数目个参考CPU使用率,和与所述参考CPU使用率分别相对应的平均执行周期数CPI均值和平均执行周期数CPI标准差,其中,所述平均执行周期数CPI均值和所述平均执行周期数CPI标准差通过属于预设参考范围内的历史平均执行周期数CPI值计算得到,所述预设参考范围是与所述参考CPU使用率相差预设浮动值的范围;
以各所述进程的标号,以及为每个所述进程设置的所述CPU使用率与平均执行周期数CPI的对应关系作为输入数据,经训练得到所述设定模型。
17.根据权利要求15所述的系统,其特征在于,所述客户机还用于:
调取所述客户机未部署新业务时所述待检测业务中各个进程的历史CPU使用率和历史平均执行周期数CPI值;
为每个所述进程设置CPU使用率与平均执行周期数CPI的对应关系;所述CPU使用率与平均执行周期数CPI的对应关系包括,预设范围内平均划分的预设数目个参考CPU使用率,和与所述参考CPU使用率分别相对应的平均执行周期数CPI均值和平均执行周期数CPI标准差,其中,所述平均执行周期数CPI均值和所述平均执行周期数CPI标准差通过属于预设参考范围内的历史平均执行周期数CPI值计算得到,所述预设参考范围是与所述参考CPU使用率相差预设浮动值的范围;
以各所述进程的标号,以及为每个所述进程设置的所述CPU使用率与平均执行周期数CPI的对应关系作为输入数据,经训练生成所述设定模型。
18.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序用于执行权利要求1-7任一项所述的CPU性能冲突的检测方法。
CN201610847444.8A 2016-09-23 2016-09-23 Cpu性能冲突的检测方法、装置和系统 Active CN107870848B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610847444.8A CN107870848B (zh) 2016-09-23 2016-09-23 Cpu性能冲突的检测方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610847444.8A CN107870848B (zh) 2016-09-23 2016-09-23 Cpu性能冲突的检测方法、装置和系统

Publications (2)

Publication Number Publication Date
CN107870848A CN107870848A (zh) 2018-04-03
CN107870848B true CN107870848B (zh) 2020-08-28

Family

ID=61750781

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610847444.8A Active CN107870848B (zh) 2016-09-23 2016-09-23 Cpu性能冲突的检测方法、装置和系统

Country Status (1)

Country Link
CN (1) CN107870848B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109800124B (zh) * 2018-12-15 2023-04-11 中国平安人寿保险股份有限公司 Cpu使用率监控方法、装置、电子设备及存储介质
CN112764889A (zh) * 2019-10-21 2021-05-07 Oppo广东移动通信有限公司 进程调度方法、装置、设备以及存储介质
CN113066479A (zh) * 2019-12-12 2021-07-02 北京沃东天骏信息技术有限公司 一种评测模型的方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9727468B2 (en) * 2004-09-09 2017-08-08 Intel Corporation Resolving multi-core shared cache access conflicts
US7853425B1 (en) * 2008-07-11 2010-12-14 Keithley Instruments, Inc. Parallel testing in a per-pin hardware architecture platform
CN101727379B (zh) * 2010-01-12 2011-11-23 瑞斯康达科技发展股份有限公司 Cpu利用率检测方法和装置
US8898434B2 (en) * 2011-11-11 2014-11-25 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Optimizing system throughput by automatically altering thread co-execution based on operating system directives

Also Published As

Publication number Publication date
CN107870848A (zh) 2018-04-03

Similar Documents

Publication Publication Date Title
US10318366B2 (en) System and method for relationship based root cause recommendation
CN107819631B (zh) 一种设备异常检测方法、装置及设备
US20140172371A1 (en) Adaptive fault diagnosis
US10909018B2 (en) System and method for end-to-end application root cause recommendation
CN108776616B (zh) 一种确定区块链节点可信状态的方法、区块链节点及系统
CN107528749A (zh) 基于云防护日志的网站可用性检测方法、装置及系统
CN107870848B (zh) Cpu性能冲突的检测方法、装置和系统
JP2013501269A5 (zh)
KR20110048112A (ko) Uri 타입 기반 디도스 공격 탐지 및 대응 장치
CN109474463B (zh) IoT边缘设备信任评估方法、装置、系统及代理服务器
CN108322350B (zh) 业务监控方法及装置和电子设备
CN109495291B (zh) 调用异常的定位方法、装置和服务器
CN112073393B (zh) 基于云计算和用户行为分析的流量检测方法
US10057155B2 (en) Method and apparatus for determining automatic scanning action
JP2021022759A (ja) ネットワーク分析プログラム、ネットワーク分析装置及びネットワーク分析方法
CN116089213A (zh) 云平台资源监控方法、装置、电子设备及可读存储介质
CN112530074A (zh) 排队叫号提醒方法、装置、设备及存储介质
US9912564B2 (en) Methods and systems to identify bottleneck causes in applications using temporal bottleneck point detection
CN117214507A (zh) 一种电流周期检测方法、装置、设备及存储介质
CN110866831A (zh) 资产活跃度等级的确定方法、装置及服务器
CN108965386A (zh) 一种共享接入终端的识别方法及装置
CN107085544B (zh) 一种系统错误定位方法及装置
CN115378794A (zh) 一种基于快照模式的网关故障检测方法及装置
EP4145290A1 (en) Transactions impact analysis
CN111831515A (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