一种并发请求超时的诊断方法及装置、设备、存储介质制造方法及图纸

技术编号:27263955 阅读:25 留言:0更新日期:2021-02-06 11:26
本申请公开了一种并发请求超时的诊断方法及装置、设备、存储介质,该方法包括:并发请求接口函数超时的情况下,确定所述接口函数的超时率,所述接口函数的层级数量大于1;获取第一耗时集,其中,所述第一耗时集包括所述接口函数调用第一级函数的耗时;根据所述超时率和所述第一耗时集,确定第一级函数中的第一待赋权函数集,其中,所述第一待赋权函数集由第一级函数中耗时百分比排序大于等于超时率的函数组成;获取第二耗时集,其中,所述第二耗时集包括所述第一待赋权函数集中的每一函数调用预先设定层级函数的耗时;根据所述第二耗时集,确定导致所述接口函数超时的调用链路;将所述调用链路的末端函数确定为导致所述接口函数超时的函数。函数超时的函数。函数超时的函数。

【技术实现步骤摘要】
一种并发请求超时的诊断方法及装置、设备、存储介质


[0001]本申请实施例涉及但不限于金融科技(Fintech)的信息技术,尤其涉及一种并发请求超时的诊断方法及装置、设备、存储介质。

技术介绍

[0002]随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,然而,由于金融行业的安全性、实时性要求,金融科技也对技术提出了更高的要求。金融科技领域下,相关技术中解决并发请求超时的诊断包括两种方法,一种方法为:使用监控平台收集中央处理器(Central Processing Unit,CPU)、Java虚拟机(Java Virtual Machine,JVM)、线程数、中间件堆积数等相关指标;日志平台收集错误日志和开发关键性能指标;Arthas平台收集耗时方法;大数据平台根据监控指标、关键性能指标、耗时方法等数据综合分析,得出场景路线,并根据得到的场景路线在数据库中查找结果集,得到结果集评分最高的性能瓶颈分析结果和对应的解决方案建议。另一种方法为:通过对接口调用过程中产生的日志进行分析,得到接口函数中各个函数调用模块耗时与本次调用时间的占比,得到接口函数中具体哪个函数模块调用耗时最多,从而定位到导致接口调用超时的问题所在。然而,这两种并发请求超时的诊断方法只能跟踪一级方法的调用链路,往往无法精确的定位到深层次的原因,导致诊断结果不准确。

技术实现思路

[0003]有鉴于此,本申请实施例为解决相关技术中存在的至少一个问题而提供一种并发请求超时的诊断方法及装置、设备、存储介质。
[0004]本申请实施例的技术方案是这样实现的:
[0005]一方面,本申请实施例提供一种并发请求超时的诊断方法,所述方法包括:
[0006]并发请求接口函数超时的情况下,确定所述接口函数的超时率,所述接口函数的层级数量大于1;
[0007]获取第一耗时集,其中,所述第一耗时集包括所述接口函数调用第一级函数的耗时;
[0008]根据所述超时率和所述第一耗时集,确定第一级函数中的第一待赋权函数集,其中,所述第一待赋权函数集由第一级函数中耗时百分比排序大于等于超时率的函数组成;
[0009]获取第二耗时集,其中,所述第二耗时集包括所述第一待赋权函数集中的每一函数调用预先设定层级函数的耗时;
[0010]根据所述第二耗时集,确定导致所述接口函数超时的调用链路;
[0011]将所述调用链路的末端函数确定为导致所述接口函数超时的函数。
[0012]又一方面,本申请实施例提供一种并发请求超时的诊断装置,所述装置包括:
[0013]第一确定模块,用于并发请求接口函数超时的情况下,确定所述接口函数的超时率,所述接口函数的层级数量大于1;
[0014]第一获取模块,用于获取第一耗时集,其中,所述第一耗时集包括所述接口函数调用第一级函数的耗时;
[0015]第二确定模块,用于根据所述超时率和所述第一耗时集,确定第一级函数中的第一待赋权函数集,其中,所述第一待赋权函数集由第一级函数中耗时百分比排序大于等于超时率的函数组成;
[0016]第二获取模块,用于获取第二耗时集,其中,所述第二耗时集包括所述第一待赋权函数集中的每一函数调用预先设定层级函数的耗时;
[0017]第三确定模块,用于根据所述第二耗时集,确定导致所述接口函数超时的调用链路;
[0018]第四确定模块,用于将所述调用链路的末端函数确定为导致所述接口函数超时的函数。
[0019]再一方面,本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的步骤。
[0020]还一方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的步骤。
[0021]本申请实施例提供的并发请求超时的诊断方法,在并发请求接口函数超时的情况下,通过确定所述接口函数的超时率,获取所述接口函数调用第一级函数的耗时,确定第一级函数中耗时百分比排序大于等于超时率的函数;通过获取第二耗时集,其中,所述第二耗时集包括所述第一待赋权函数集中的每一函数调用预先设定层级函数的耗时;根据所述第二耗时集,确定导致所述接口函数超时的调用链路。这样,能够在接口压力测试超时的情况下,除了统计第一层级函数的耗时外,还能够统计预先设定层级函数的耗时,并通过统计的耗时信息,准确定位到接口函数调用链路中最有可能导致接口超时的函数位置,给出所有可能导致超时的函数调用链路,避免了相关技术中,只能统计接口函数中一级方法的调用链路而无法具体定位到更深层调用的函数位置的问题。
附图说明
[0022]图1为本申请实施例并发请求超时的诊断方法的实现流程示意图;
[0023]图2为本申请实施例并发请求超时的诊断方法的实现流程示意图;
[0024]图3为本申请实施例并发请求超时的诊断方法的实现流程示意图;
[0025]图4为本申请实施例并发请求超时的诊断装置的组成结构示意图;
[0026]图5A为本申请实施例并发请求超时的诊断方法的低压力模式下函数调用耗时百分比平均值示意图;
[0027]图5B为本申请实施例并发请求超时的诊断方法的低压力模式下函数调用耗时百分比平均值示意图;
[0028]图5C为本申请实施例并发请求超时的诊断方法中函数调用链路分析的示意图;
[0029]图6为本申请实施例并发请求超时的诊断装置的组成结构示意图;
[0030]图7为本申请实施例中计算机设备的一种硬件实体示意图。
具体实施方式
[0031]为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和实施例对本申请的技术方案进一步详细阐述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
[0032]在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
[0033]如果申请文件中出现“第一/第二”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
[0034]除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的
的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
[0035]下面结合附图和实施例对本申请的技术方案进一步详细阐述。
[0036]本申请实施例提供一种并发请求超时的诊断方法,图1为本申请实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种并发请求超时的诊断方法,其特征在于,所述方法包括:并发请求接口函数超时的情况下,确定所述接口函数的超时率,所述接口函数的层级数量大于1;获取第一耗时集,其中,所述第一耗时集包括所述接口函数调用第一级函数的耗时;根据所述超时率和所述第一耗时集,确定第一级函数中的第一待赋权函数集,其中,所述第一待赋权函数集由第一级函数中耗时百分比排序大于等于超时率的函数组成;获取第二耗时集,其中,所述第二耗时集包括所述第一待赋权函数集中的每一函数调用预先设定层级函数的耗时;根据所述第二耗时集,确定导致所述接口函数超时的调用链路;将所述调用链路的末端函数确定为导致所述接口函数超时的函数。2.根据权利要求1所述的方法,其特征在于,所述根据所述第二耗时集,确定导致所述接口函数超时的调用链路,包括:根据所述第二耗时集中每一第二耗时和与所述第二耗时对应的上一层函数总耗时,确定耗时百分比集;根据所述耗时百分比集,确定第二待赋权函数集中每一函数的权重值,其中,所述每一函数为所述预先设定层级函数中耗时百分比变化量非零的函数;根据所述每一函数的权重值,确定超时的函数调用链路分支;根据所述函数调用链路分支的权重值,确定导致所述接口函数超时的调用链路。3.根据权利要求2所述的方法,所述根据所述函数调用链路分支的权重值,确定导致所述接口函数超时的调用链路,包括:将所述函数调用链路分支中每一函数对应的权重值相乘,得到对应的链路权重值;将所述链路权重值按照特定顺序排列;将满足预设条件的链路权重值对应的函数调用链路分支,确定为所述导致所述接口函数超时的调用链路。4.根据权利要求1至3任一项所述的方法,其特征在于,所述并发请求模式包括第一请求模式和第二请求模式,所述第一耗时集包括第一子耗时和第二子耗时,其中,所述第一子耗时为在所述第一请求模式下所述接口函数调用第一级函数的耗时,所述第二子耗时为在所述第二请求模式下所述接口函数调用第一级函数的耗时;所述并发请求接口函数超时的情况下,确定所述接口函数的超时率,包括:在以所述第一请求模式进行并发请求接口函数超时的情况下,确定第一超时率;在以所述第二请求模式进行并发请求接口函数超时的情况下,确定第二超时率;对应地,所述根据所述超时率和所述第一耗时集,确定第一级函数中的第一待赋权函数集,包括:根据所述第一超时率和第一子耗时,确定第一耗时百分比集;根据所述第二超时率和第二子耗时,确定第二耗时百分比集;根据所述第一耗时百分比集和第二耗时百分比集,确定百分比变化量;根据所述百分比变化量,确定第一级函数中的第一待赋权函数集。5.根据权利要求4所述的方法,其特征在于,所述根据所述第一超时率和第一子耗时,确定第一耗时百分比集,包括:
根据所述第一超时率和第一子耗时,确定第一请求超时函数集,其中,所述第一请求超时函数集为在所述第一请求模式下第一级函数的请求超时函数集;确定所述第一请求超时函数集中每一函数的调用耗时占上一层函数调用总耗时的百分比平均值,得到第一耗时百分比集;所述根据所述第二超时率和第二子耗时,确定第二耗时百分比集,包括:根据所述第二超时率和第二子耗时,确定第二请求超时函数集,其中,所述第二子耗时为第二请求模式下接口函数调用的第一级函数的耗时,所述第二请求超时函数集为第二请求模式下第一级函数的请求超时函数集;确定所述第二请求超时函数集中每一函数的调用耗时占上一层函数调用总耗时的百分比平均值,得到第二耗时百分比集。6.根据权利要求4所述的方法,其特征在于,所述第二耗时集包括第三子耗时和第四子耗时,所述耗时百分比集包括第三耗时百分比集和第四耗时百分比集,所述根据所述第二耗时集中每一第二耗时和与所述第二耗时对应的上一层函数总耗时,确定耗时百分比集,包括:根据所述第三子耗时和所述第一待赋权函数的总耗时,确定第三请求超时函数集,其中,所述第三子耗时为第一请求模式下所述第一待赋权函数集调用预先设定层级函数的耗时,所述第三请求超时函数集为第一请求模式下第一待赋权函数调用下一级函数的请求超时函数集;确定所述第三请求超时函数集中每一函数的调用耗时占第一层函数调用总耗时的百分比平均值,得到第三耗时百分比集;根据...

【专利技术属性】
技术研发人员:陈吉毛伟周杰卢道和
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1