【技术实现步骤摘要】
一种基于分布式应用的性能诊断方法、装置及设备
本说明书实施例涉及云计算
,特别涉及一种基于分布式应用的性能诊断方法、装置及设备。
技术介绍
随着计算机和互联网技术的发展,提供给用户所使用的应用通常会承载百万甚至千万级的用户量。为了应对处理海量用户数据的调整,可以引入分布式应用进行处理。分布式应用是由部署在多台服务器上的多个应用进程构成的软件系统。各进程通过网络进行通信,通过并行协作的方式,来高效可靠地对海量数据进行计算和存储。由于越来越多的企业利用分布式应用作为核心业务场景的底层支撑,因此对于分布式应用的正常运行也需要维持高度关注。当分布式应用出现性能问题时,应当尽快诊断出性能问题的根因,从而保障用户的正常使用。目前在对分布式应用的性能问题进行诊断时,一般通过预先在应用代码的关键位置埋设日志,并在出现问题后调用日志内容进行分析的方式进行诊断。但是,由于性能问题的出现总是滞后于日志埋设动作的,所埋设的日志可能无法直接反映相应的性能问题。此外,查看日志可能只能得出问题的大致方向,但无法得出底层根因,无法直观 ...
【技术保护点】
1.一种基于分布式应用的性能诊断方法,其特征在于,包括:/n在所述分布式应用的各个进程中设置诊断插件;所述诊断插件,用于获取对应的目标接口的调用信息;/n分别向各个诊断插件发送诊断命令;所述诊断命令,用于指示诊断插件收集并上送所述目标接口的调用信息;/n在接收到所述调用信息的情况下,将所述调用信息与预设性能指标进行比对,以对所述分布式应用的性能进行诊断。/n
【技术特征摘要】
1.一种基于分布式应用的性能诊断方法,其特征在于,包括:
在所述分布式应用的各个进程中设置诊断插件;所述诊断插件,用于获取对应的目标接口的调用信息;
分别向各个诊断插件发送诊断命令;所述诊断命令,用于指示诊断插件收集并上送所述目标接口的调用信息;
在接收到所述调用信息的情况下,将所述调用信息与预设性能指标进行比对,以对所述分布式应用的性能进行诊断。
2.如权利要求1所述的方法,其特征在于,所述调用信息包括执行耗时、吞吐量、成功率中的至少一种。
3.如权利要求1所述的方法,其特征在于,所述诊断命令,由命令读写单元发送至诊断插件;所述分别向各个诊断插件发送诊断命令,包括:
在均衡各个命令读写单元的负载的情况下,发送所述诊断命令。
4.如权利要求1所述的方法,其特征在于,所述调用信息通过以下方式获取:
基于所述诊断命令对进程中指定的类中的方法动态注入诊断逻辑;
在所述方法被调用的情况下,接收被触发的诊断逻辑上送的调用信息。
5.如权利要求4所述的方法,其特征在于,所述基于所述诊断命令对指定的类中的方法动态注入诊断逻辑之前,还包括:
基于应用名、组件名、实例号确定性能诊断粒度;所述性能诊断粒度用于确定诊断过程的作用范围。
6.如权利要求4所述的方法,其特征在于,所述基于所述诊断命令对指定的类中的方法动态注入诊断逻辑,包括:
获取所述诊断命令对应的目标接口;
将所述目标接口与历史作用接口进行比较;所述历史作用接口包括上一次注入诊断逻辑的接口;
基于比较结果在目标接口中新增诊断逻辑或取消诊断逻辑。
7.如权利要求6所述的方法,其特征在于,所述基于比较结果在目标接口中新增诊断逻辑,包括:
获取所述诊断插件对应的进程中已加载的类所构成的类集合;
在所述类集合中包含有所述目标接口对应的类的情况下,创建并注册对应于所述进程的文件转换器;
针对所述文件转化器执行类定义重转换操作以重新加载该类的定义;
触发所述文件转换器的回调处理方法以读取该类的当前字节码;
缓存所述当前字节码;
记录所述目标接口的入参值、调用耗时、返回值或抛出异常;
为该类生成插桩后的字节码以替换所述当前字节码。
...
【专利技术属性】
技术研发人员:张学舟,黄玺磊,王双龙,胡晓菲,
申请(专利权)人:中国工商银行股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。