接口的性能监控方法、装置、设备及计算机可读存储介质与流程

文档序号:17661521发布日期:2019-05-15 22:24阅读:158来源:国知局
接口的性能监控方法、装置、设备及计算机可读存储介质与流程

本发明主要涉及互联网技术领域,具体地说,涉及一种接口的性能监控方法、装置、设备及计算机可读存储介质。



背景技术:

随着网络技术的发展,互联网得到了广泛的应用,已成为人们工作和生活中不可获缺的工具。各企业通常建立有各种类型的系统服务器,以对外提供各种资源和服务;人们则可通过互联网对企业的系统服务器进行访问,获取其所需要的各种资源和服务。在对系统服务器访问过程中,通常以接口调用的形式进行,访问的次数越多,对接口的调用次数也越多;对于一些访问量大的系统服务器,对接口的性能要求很高。

接口的调用过程中生成有对接口的各次调用耗时进行记录的调用日志,目前为了体现接口的性能,先从调用日志中的大量日志数据去检索各个调用耗时,再通过接口的各次调用耗时来反映接口的性能;因所生成的调用日志中所包括的数据量巨大,检索需要花费大量的时间,且得到的数据零散,不能准确的反映接口的性能。



技术实现要素:

本发明的主要目的是提供一种接口的性能监控方法、装置、设备及计算机可读存储介质,旨在解决现有技术中通过检索日志数据来反映接口的性能好坏,检索耗费的时间长,反映的接口性能不准确的问题。

为实现上述目的,本发明提供一种接口的性能监控方法,所述接口的性能监控方法包括以下步骤:

每间隔预设时间抓取对各接口进行监控所生成的监控日志文件,并对所述监控日志文件中的日志数据进行分类统计,生成各所述接口的总调用次数、各次调用耗时以及重复调用次数;

将所述各次调用耗时和预设耗时阈值对比,生成各所述接口的超时次数,并根据各所述超时次数和各所述总调用次数,生成各所述接口的超时占比;

根据各所述重复调用次数和各所述总调用次数,生成各所述接口的重复占比,并根据各所述重复占比和各所述超时占比,对各所述接口的性能进行监控。

优选地,所述根据各所述重复占比和各所述超时占比,对各所述接口的性能进行监控的步骤包括:

将各所述重复占比和第一预设占比对比,确定各所述重复占比中大于所述第一预设占比的目标重复占比,并将与各所述目标重复占比对应的接口确定为目标重复接口,基于所述目标重复接口输出缓存提示信息;

将各所述超时占比和第二预设占比对比,确定各所述超时占比中大于所述第二预设占比的目标超时占比,并将与各所述目标超时占比对应的接口确定为目标超时接口;

获取各所述目标超时接口的网络信息,与各所述目标超时接口对应服务器的第一负载信息以及与各所述目标超时接口对应数据库的第二负载信息,并根据各所述网络信息、第一负载信息和第二负载信息,对各所述目标超时接口进行监控。

优选地,所述根据各所述网络信息、第一负载信息和第二负载信息,对各所述目标超时接口进行监控的步骤包括:

将各所述目标超时接口的网络信息、第一负载信息以及第二负载信息分别和预设网络阈值、预设服务阈值和预设负载阈值对比,生成各所述目标超时接口的第一对比结果、第二对比结果和第三对比结果;

根据各所述目标超时接口的第一对比结果、第二对比结果和第三对比结果,将各所述目标超时接口划分为第一目标超时接口和第二目标超时接口,其中所述第一目标超时接口的第一对比结果、第二对比结果和第三对比结果中存在任意一项为异常项;

对各所述第一目标超时接口输出与所述异常项对应的第一预警信息,并对各所述第二目标超时接口输出接口性能异常的第二预警信息。

优选地,所述生成各所述接口的总调用次数、各次调用耗时以及重复调用次数的步骤之后包括:

调用预设耗时区间,并将各所述接口的各次调用耗时划分到各所述预设耗时区间中,统计各所述预设耗时区间具有各所述接口的各次调用耗时的调用数量;

将各所述调用数量和各所述接口的总调用次数做比值,确定各所述接口在各所述预设耗时区间的调用次数占比,并根据各所述调用次数占比,确定各所述接口的性能等级,根据所述性能等级对各所述接口进行性能监控。

优选地,所述根据各所述调用次数占比,确定各所述接口的性能等级,根据所述性能等级对各所述接口进行性能监控的步骤包括:

将各所述接口的调用次数占比和第三预设占比对比,判断各所述接口的调用次数占比中是否存在大于所述第三预设占比的目标调用次数占比;

若存在大于所述第三预设占比的目标调用次数占比,则根据所述目标调用次数占比所对应预设耗时区间的区间等级,确定具有所述目标调用次数占比的目标接口的性能等级,并根据所述性能等级对所述目标接口进行性能监控;

若不存在大于所述第三预设占比的目标调用次数占比,则确定各所述接口的性能等级为中等,并根据所述性能等级对各所述接口进行性能监控,生成的监控结果为均衡。

优选地,所述根据所述性能等级对所述目标接口进行性能监控的步骤包括:

当所述性能等级为优等时,则对各所述目标接口进行性能监控,生成的监控结果为优质;

当所述性能等级为差等时,则对各所述目标接口进行性能监控,生成的监控结果为劣质,并输出优化提示信息。

优选地,所述对各所述接口的性能进行监控的步骤之后包括:

根据各所述接口的各次调用耗时和总调用次数,生成各所述接口的平均耗时,并在各所述接口的各次调用耗时之间进行对比,确定各所述接口的最大耗时;

将各所述接口的平均耗时、最大耗时、总调用次数以及重复调用次数分别传输到预设报表模板中,生成各所述接口的性能数据报表。

此外,为实现上述目的,本发明还提出一种接口的性能监控装置,所述接口的性能监控装置包括:

统计模块,用于每间隔预设时间抓取对各接口进行监控所生成的监控日志文件,并对所述监控日志文件中的日志数据进行分类统计,生成各所述接口的总调用次数、各次调用耗时以及重复调用次数;

生成模块,用于将所述各次调用耗时和预设耗时阈值对比,生成各所述接口的超时次数,并根据各所述超时次数和各所述总调用次数,生成各所述接口的超时占比;

监控模块,用于根据各所述重复调用次数和各所述总调用次数,生成各所述接口的重复占比,并根据各所述重复占比和各所述超时占比,对各所述接口的性能进行监控。

此外,为实现上述目的,本发明还提出一种接口的性能监控设备,所述接口的性能监控设备包括:存储器、处理器、通信总线以及存储在所述存储器上的接口的性能监控程序;

所述通信总线用于实现处理器和存储器之间的连接通信;

所述处理器用于执行所述接口的性能监控程序,以实现以下步骤:

每间隔预设时间抓取对各接口进行监控所生成的监控日志文件,并对所述监控日志文件中的日志数据进行分类统计,生成各所述接口的总调用次数、各次调用耗时以及重复调用次数;

将所述各次调用耗时和预设耗时阈值对比,生成各所述接口的超时次数,并根据各所述超时次数和各所述总调用次数,生成各所述接口的超时占比;

根据各所述重复调用次数和各所述总调用次数,生成各所述接口的重复占比,并根据各所述重复占比和各所述超时占比,对各所述接口的性能进行监控。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行以用于:

每间隔预设时间抓取对各接口进行监控所生成的监控日志文件,并对所述监控日志文件中的日志数据进行分类统计,生成各所述接口的总调用次数、各次调用耗时以及重复调用次数;

将所述各次调用耗时和预设耗时阈值对比,生成各所述接口的超时次数,并根据各所述超时次数和各所述总调用次数,生成各所述接口的超时占比;

根据各所述重复调用次数和各所述总调用次数,生成各所述接口的重复占比,并根据各所述重复占比和各所述超时占比,对各所述接口的性能进行监控。

本实施例的接口的性能监控方法,先每间隔预设时间抓取对各接口进行监控所生成的监控日志文件,并对各监控日志文件进行分类统计,生成各接口的总调用次数、各次调用耗时以及重复调用次数;再将各次调用耗时和预设耗时阈值对比,生成各个接口的超时次数,并依据各超时次数和各总调用次数,生成各个接口的超时占比;进而依据各重复调用次数和各总调用次数,生成各接口的重复占比,通过各接口的重复占比和各超时占比,对各接口的性能进行监控。本方案中的重复占比和超时占比分别表征了预设时间内,对接口进行重复调用和调用耗时长的次数数量,当重复调用次数和调用耗时长的次数越少,则说明接口的性能越好,反之则越差;通过对日志数据分类统计得到的总调用次数、各次调用耗时以及重复调用次数,所生成的重复占比和超时占比来监控接口的性能;避免通过从大量日志数据中检索调用耗时来反映接口的性能,节省了检索时间,且提高了对接口性能监控的准确性。

附图说明

图1是本发明的接口的性能监控方法第一实施例的流程示意图;

图2是本发明的接口的性能监控装置第一实施例的功能模块示意图;

图3是本发明实施例方法涉及的硬件运行环境的设备结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种接口的性能监控方法。

请参照图1,图1为本发明接口的性能监控方法第一实施例的流程示意图。在本实施例中,所述接口的性能监控方法包括:

步骤s10,每间隔预设时间抓取对各接口进行监控所生成的监控日志文件,并对所述监控日志文件中的日志数据进行分类统计,生成各所述接口的总调用次数、各次调用耗时以及重复调用次数;

本发明接口的性能监控方法应用于监控平台,适用于通过监控平台对接口的性能进行监控。企业机构设置有对外提供服务的服务器,且服务器通过各个接口的调用和响应来实现对外提供服务的功能;如用于进行交易的支付接口,用于查询客户信息的查询接口等。接口响应时间的长短体现了访问者获取服务器中信息和资源的速度快慢,是接口性能好坏的指标之一。为了确保各接口的性能优良,本实施例中的监控平台与服务器对接,以对服务器中各种类型的接口进行实时监控;其中监控的内容包括各接口的调用次数、调用耗时、重复调用等,将实时监控的内容生成监控日志文件并存储到存储单元中,该存储单元可以是与监控平台对接的数据库也可以是监控平台本身所具有的存储装置。

预先根据需求设置预设时间,每当检测达到该预设时间时间时,从存储单元中抓取对各接口进行监控所生成的监控日志文件,并对该监控日志文件中的日志数据进行读取;该日志数据表征了预设时间内对各接口监控所生成的数据,包括各接口在预设时间内的调用次数,各次调用所耗费的时间,各次调用的条件等。在读取到日志数据后,对日志数据依据各接口进行分类,统计各个接口的总调用次数、各次调用耗时以及重复调用次数;其中总调用次数即为在预设时间内对接口的调用次数,各次调用耗时为对接口各次调用所耗费的时间,重复调用次数为调用条件相同的调用,即当存在两次以上的调用条件相同,则判定存在重复调用,将以相同调用条件进行调用的次数作为重复调用次数。

步骤s20,将所述各次调用耗时和预设耗时阈值对比,生成各所述接口的超时次数,并根据各所述超时次数和各所述总调用次数,生成各所述接口的超时占比;

进一步地,为了表征接口响应的快慢,预先设置有预设耗时阈值;将各接口的各次调用耗时逐一和该预设耗时阈值做对比,确定各次调用耗时中大于预设耗时阈值的目标调用耗时;该大于预设耗时阈值的目标调用耗时,表征了目标调用耗时所对应的调用过程中,接口的响应时间过长,为超时响应。对各个接口的各次调用耗时中所具有目标调用耗时的数量进行计数统计,生成各个接口在预设时间内的超时次数。将统计所得到的超时次数和总调用次数做比值,所得到的比值结果为调用耗时大于预设耗时阈值的次数在总调用次数中的次数占比,将该次数占比作为各接口在预设时间内的超时占比,表征各接口在预设时间段内响应时间较长的概率大小。

步骤s30,根据各所述重复调用次数和各所述总调用次数,生成各所述接口的重复占比,并根据各所述重复占比和各所述超时占比,对各所述接口的性能进行监控;

更进一步地,将统计得到的各接口的重复调用次数和各接口的总调用次数做比值,得到各接口在总调用次数中所存在的重复调用的次数占比,将该重复调用的次数占比确定为各接口的重复占比,表征各接口在预设时间段内重复调用的概率大小。在生成各接口的重复占比和超时占比之后,即可依据该重复占比和超时占比对各接口的性能进行监控,以确定各接口在预设时间内是否存在大量重复调用的情况,以及各接口在预设时间内的调用耗时较长的概率是否较大。具体地,根据各所述重复占比和各所述超时占比,对各所述接口的性能进行监控的步骤包括:

步骤s31,将各所述重复占比和第一预设占比对比,确定各所述重复占比中大于所述第一预设占比的目标重复占比,并将与各所述目标重复占比对应的接口确定为目标重复接口,基于所述目标重复接口输出缓存提示信息;

预先设置有表征重复调用概率大小的第一预设占比,将针对各个接口所生成的重复占比和该第一预设占比对比,确定各接口的重复占比中大于第一预设占比的目标重复占比;具有该目标重复占比的接口即为在预设时间内存在较多次重复调用的接口,将该接口确定为目标重复接口。因对目标重复接口的重复调用需要消耗掉较多的资源,可通过设置缓存机制进行优化;针对目标重复接口输出缓存提示信息,以便于开发人员根据提示信息对接口设置缓存机制,降低重复调用的概率;后续对于相同调用条件的调用操作,直接从缓存中读取对应的资源,而避免对接口的重复调用,在节省资源的同时实现快速响应。

步骤s32,将各所述超时占比和第二预设占比对比,确定各所述超时占比中大于所述第二预设占比的目标超时占比,并将与各所述目标超时占比对应的接口确定为目标超时接口;

进一步地,预先设置有表征响应时间较长的概率大小的第二预设占比,将针对各个接口所生成的超时占比和该第二预设占比对比,确定各接口的超时占比中大于第二预设占比的目标超时占比;具有该目标超时占比的接口及为在预设时间内调用耗时较长的接口,将该接口确定为目标超时接口,并进一步确定调用耗时长的原因。

步骤s33,获取各所述目标超时接口的网络信息,与各所述目标超时接口对应服务器的第一负载信息以及与各所述目标超时接口对应数据库的第二负载信息,并根据各所述网络信息、第一负载信息和第二负载信息,对各所述目标超时接口进行监控。

可理解地,接口的调用和响应依赖于网络、服务器所能支持访问的负载大小、以及数据库所能支持访问的负载大小等;从而当接口的调用耗时长,而响应慢时;可能响应慢的原因为网络原因、或者服务器的负载限制、或者数据库的负载限制等。在确定预设时间内调用耗时较长的目标超时接口后,进一步从监控平台的存储单元中获取各目标超时接口的网络信息,与各目标超时接口对应服务器的第一负载信息以及与各目标超时接口对应数据库的第二负载信息;其中网络信息为对目标超时接口的各次调用过程中的网络带宽大小、网络中所接入的并发量大小等;第一负载信息为对目标超时接口的各次调用过程中,外界请求获取服务器资源的请求量大小;第二负载信息为对目标超时接口的各次调用过程中,与服务器所对接的数据库的访问量大小。通过各目标超时接口所具有的网络信息、第一负载信息和第二负载信息,判断各目标超时接口调用耗时长的原因是否由该三者中的任意一项引起,以对引起各目标超时接口调用耗时长的原因进行监控。

具体地,所述根据各所述网络信息、第一负载信息和第二负载信息,对各所述目标超时接口进行监控的步骤包括:

步骤s331,将各所述目标超时接口的网络信息、第一负载信息以及第二负载信息分别和预设网络阈值、预设服务阈值和预设负载阈值对比,生成各所述目标超时接口的第一对比结果、第二对比结果和第三对比结果;

进一步地,预先设置有表征网络信息、第一负载信息和第二负载信息正常性的预设网络阈值、预设服务阈值和预设负载阈值;其中因网络信息包括网络带宽大小和并发量大小两个方面,使得预设网络阈值也涉及到两个方面,可为第一网络子阈值和第二网络子阈值。将各目标超时接口的网络信息中表征网络带宽大小的信息和第一网络子阈值进行比较,判断表征网络带宽大小的信息是否小于该第一网络子阈值;若小于则说明所分配的网络带宽较小,表征网络带宽大小的信息存在异常。同时将各目标超时接口的网络信息中表征并发量大小的信息和第二网络子阈值进行比较,判断表征并发量大小的信息是否大于该第二网络子阈值;若大于则说明所接入的并发量大于可接入的最大并发量,表征并发量大小的信息存在异常。当表征网络带宽大小的信息或表征并发量大小的信息中存在任意一项异常时,则判定网络信息存在异常;而当两者均正常时,则判定网络信息正常;将网络信息存在异常或正常的判定结果作为各目标超时接口中,网络信息和预设网络阈值进行对比所生成的第一对比结果。

此外,将各目标超时接口的第一负载信息和预设服务阈值对比,判断第一负载信息是否大于预设服务阈值,若大于则说明外界对服务器的请求量过大而导致服务器负载大于其可承受的请求量,判定第一负载信息异常,否则判定第一负载信息正常。将第一负载信息异常或正常的判定结果作为各目标超时接口中,第一负载信息和预设服务阈值进行对比所生成的第二对比结果。同时将各目标超时接口的第二负载信息和预设负载阈值对比,判断第二负载信息是否大于预设负载阈值,若大于则说明对数据库的访问量过大而导致数据库负载大于其可承受的请求量,判定第二负载信息异常,否则判定第二负载信息正常。将第二负载信息异常或正常的判定结果作为各目标超时接口中,第二负载信息和预设负载阈值进行对比所生成的第三对比结果。

步骤s332,根据各所述目标超时接口的第一对比结果、第二对比结果和第三对比结果,将各所述目标超时接口划分为第一目标超时接口和第二目标超时接口,其中所述第一目标超时接口的第一对比结果、第二对比结果和第三对比结果中存在任意一项为异常项;

更进一步地,当目标超时接口的第一对比结果、第二对比结果和第三对比结果中存在任意一项异常时,则说明该异常可能为引起目标超时接口调用耗时长的原因;而当目标超时接口的第一对比结果、第二对比结果和第三对比接口中均不存在异常,则说明目标超时接口调用耗时长由目标超时接口本身的原因所引起。从而根据各目标超时接口的第一对比结果、第二对比结果和第三对比结果,可将目标超时接口划分为第一目标超时接口和第二目标超时接口;其中第一目标超时接口的第一对比结果、第二对比结果和第三对比结果中存在任意一项为异常项,即第一目标超时接口调用耗时长的原因不是由其本身所引起;而第二目标超时接口的第一对比结果、第二对比结果和第三对比结果中不存在任意一项异常项,即第二目标超时接口调用耗时长的原因由其本身所引起。

步骤s333,对各所述第一目标超时接口输出与所述异常项对应的第一预警信息,并对各所述第二目标超时接口输出接口性能异常的第二预警信息。

进一步地,在各第一目标超时接口的第一对比结果、第二对比结果和第三对比结果中至少存在一项为异常项,即各第一目标超时接口的网络信息、第一负载信息和第二负载信息中至少存在任意一项不正常时,说明第一目标超时接口调用耗时较长的原因可能由网络原因、服务器的负载原因或数据库的负载原因引起;从而针对各个第一目标超时接口输出与异常项对应的第一预警信息,即输出第一目标超时接口的网络异常、服务器负载异常或数据库异常的第一预警信息,以便于根据该第一预警信息进行异常检测。

在各第二目标超时接口的第一对比结果、第二对比结果和第三对比结果中均不存在异常项,即各第二目标超时接口的网络信息、第一负载信息和第二负载信息均正常时,则说明第二目标超时接口调用耗时较长的原因不是由网络、服务器的负载或数据库的负载所引起,而可能是第二目标超时接口本身的性能问题;从而针对各个第二目标超时接口输出接口性能异常的第二预警信息,即输出第二目标超时接口的接口性能异常的第二预警信息。通过不同的预警信息表征引起目标超时接口调用耗时长的不同原因,以便开发人员根据不同的预警信息对目标超时接口的性能进行优化,且依据不同的原因采用不同的优化措施;如对于网络原因,则可采用增加带宽,或限制访问量等措施进行优化;而对于目标超时接口本身性能的原因,则可采用优化接口代码、升级硬件等措施进行优化。

本实施例的接口的性能监控方法,先抓取对各接口进行监控所生成的监控日志文件,并对各监控日志文件进行分类统计,生成各接口在预设时间内的总调用次数、各次调用耗时以及重复调用次数;再将各次调用耗时和预设耗时阈值对比,生成各个接口的超时次数,并依据各超时次数和各总调用次数,生成各个接口的超时占比;进而依据各重复调用次数和各总调用次数,生成各接口的重复占比,通过各接口的重复占比和各超时占比,对各接口的性能进行监控。本方案中的重复占比和超时占比分别表征了预设时间内,对接口进行重复调用和调用耗时长的次数数量,当重复调用次数和调用耗时长的次数越少,则说明接口的性能越好,反之则越差;通过对日志数据分类统计得到的总调用次数、各次调用耗时以及重复调用次数,所生成的重复占比和超时占比来监控接口的性能;避免通过从大量日志数据中检索调用耗时来反映接口的性能,节省了检索时间,且提高了对接口性能监控的准确性。

进一步地,在本发明接口的性能监控方法中的另一实施例中,所述生成各所述接口的总调用次数、各次调用耗时以及重复调用次数的步骤之后包括:

步骤s40,调用预设耗时区间,并将各所述接口的各次调用耗时划分到各所述预设耗时区间中,统计各所述预设耗时区间具有各所述接口的各次调用耗时的调用数量;

进一步地,为了更准确的体现各接口性能的优劣,还预先设置有不同的预设耗时区间,且不同的预设耗时区间所表征的接口性能不一样;如预设耗时区间在1s到2s之间所表征的接口性能较好,而预设耗时区间在2s到5s之间所表征的接口性能中等,预设耗时区间在5s到10s之间所表征的接口性能较差。将各个接口的各次调用耗时和各个预设耗时区间对比,确定各次调用耗时所在的预设耗时区间;进而将各接口所具有的各次调用耗时划分到各个预设耗时区间中,并对各预设耗时区间中所具有各接口的各次调用耗时数量进行统计,将统计的结果作为调用数量。如对于接口w,其在预设时间内的总调用次数为100次,且其中80次的调用耗时在5s到10s的区间中,其中15次的调用耗时在2s到5s的区间中,而只有5次的调用耗时在1s到2s的区间中,即接口w在各预设耗时区间内的调用数量分别为80次、15次和5次。

步骤s50,将各所述调用数量和各所述接口的总调用次数做比值,确定各所述接口在各所述预设耗时区间的调用次数占比,并根据各所述调用次数占比,确定各所述接口的性能等级,根据所述性能等级对各所述接口进行性能监控。

更进一步地,在统计得到各接口的各次调用耗时分布在各预设耗时区间中的调用数量后,用各个调用数量和各接口的总调用次数做比值,比值的结果即为各接口在各预设耗时区间中的调用次数占比。如对于上述调用数量80次、15次和5次,所生成的调用次数占比分别为80%,15%和5%,表征存在80%的调用操作在5s到10s之间进行响应,15%的调用操作在2s到5s之间进行响应,而5%的调用操作在1s到2s之间进行响应。对于调用次数占比越大的预设耗时区间,说明接口的调用耗时大部分分布在该预设耗时区间内;该预设耗时区间所表征的接口性能,即为该接口所具有的性能。将各预设耗时区间所表征的接口性能依据性能的优劣划分为不同的性能等级,依据各接口所具有的调用次数占比的大小关系,确定各接口的性能等级,进而依据性能等级对各个接口进行性能监控。具体地,根据各调用次数占比,确定各接口的性能等级,根据性能等级对各接口进行性能监控的步骤包括:

步骤s51,将各所述接口的调用次数占比和第三预设占比对比,判断各所述接口的调用次数占比中是否存在大于所述第三预设占比的目标调用次数占比;

进一步地,为了表征各接口所具有调用次数占比的大小关系,预先设置有第三预设占比,将各接口所具有的调用次数占比分别和第三预设占比对比,判断各接口的调用次数占比中是否存在大于第三预设占比的的调用次数占比。该大于第三预设占比的调用次数占比表征了接口的各次调用耗时中,大部分调用耗时所在的预设耗时区间,可通过其反映接口的性能等级,而将其作为目标调用次数占比。

步骤s52,若存在大于所述第三预设占比的目标调用次数占比,则根据所述目标调用次数占比所对应预设耗时区间的区间等级,确定具有所述目标调用次数占比的目标接口的性能等级,并根据所述性能等级对所述目标接口进行性能监控;

当经判断出各接口的调用次数占比中存在大于第三预设占比的目标调用次数占比,则将生成目标调用次数占比的预设耗时区间确定为目标预设耗时区间,并将该目标预设耗时区间所对应的区间等级,确定为具有目标调用次数的目标接口的性能等级,进而根据性能等级对目标接口进行性能监控。如对于上述接口w,若第三预设占比为70%,则其中存在调用次数占比80%大于该第三预设占比,从而将调用次数占比80%确定为目标调用次数占比;该目标调用次数占比所对应的预设耗时区间5s到10s所表征的接口性能较差,即该预设耗时区间的区间等级为差等,而具有该目标调用次数占比的接口为w,将w确定为目标接口,并将目标接口w的性能等级确定为差等;进而依据该性能等级对目标接口w进行性能监控。

具体地,所述根据所述性能等级对所述目标接口进行性能监控的步骤包括:

步骤s521,当所述性能等级为优等时,则对各所述目标接口进行性能监控,生成的监控结果为优质;

步骤s522,当所述性能等级为差等时,则对各所述目标接口进行性能监控,生成的监控结果为劣质,并输出优化提示信息。

可理解地,当目标接口的性能等级为优等,表征目标接口的各次调用耗时中,大部分调用耗时分布在表征接口性能较好的预设耗时区间内,接口的调用耗时时间短,响应快;此时对目标接口进行性能监控,所生成的监控结果为优质,表征不需要对目标接口进行优化。而当目标接口的性能等级为差等,表征目标接口的各次调用耗时中,大部分调用耗时分布在表征接口性能较差的预设耗时区间内,接口的调用耗时时间长,响应慢;此时对目标接口进行性能监控,所生成的监控结果为劣质,表征需要对目标接口进行优化,而输出优化提示信息,以便于开发人员根据优化提示信息对监控结果为劣质的目标接口进行优化。

步骤s53,若不存在大于所述第三预设占比的目标调用次数占比,则确定各所述接口的性能等级为中等,并根据所述性能等级对各所述接口进行性能监控,生成的监控结果为均衡。

进一步地,当经对比判断出各接口的调用次数占比中不存在大于第三预设占比的目标调用次数占比,则将各接口的性能等级确定为中等,表征各接口在预设时间内的各次调用耗时的时长在中等范围内,各次的响应速度较为均衡,从而依据该性能等级对各接口进行性能监控,所生成的监控结果为均衡,表征不需要对各接口进行优化。

进一步地,在本发明接口的性能监控方法中的另一实施例中,所述对各所述接口的性能进行监控的步骤之后包括:

步骤s60,根据各所述接口的各次调用耗时和总调用次数,生成各所述接口的平均耗时,并在各所述接口的各次调用耗时之间进行对比,确定各所述接口的最大耗时;

更进一步地,对各接口在预设时间段内每次的调用耗时进行相加,即各次调用耗时之间相加,并用相加所得到的结果和各接口的总调用次数做比值;比值所得到的结果为各接口在预设时间段内的平均耗时,通过该平均耗时反映接口在预设时间段内的平均性能,当平均耗时越短则平均性能越好,而平均耗时越长则平均性能越差。同时在各接口所具有的各次调用耗时之间进行对比,确定耗时各接口的各次调用耗时中耗时最长的最大耗时,表征各接口在预设时间内响应最慢的一次调用。

步骤s70,将各所述接口的平均耗时、最大耗时、总调用次数以及重复调用次数分别传输到预设报表模板中,生成各所述接口的性能数据报表。

进一步地,预先设置有预设报表模板,以用于对各接口在调用过程中的数据进行显示,以可视化的形式展示各接口的性能。预设报表模板中划分有不同的区域,不同区域用于显示不同接口在调用过程中的数据;将各个接口的平均耗时、最大耗时、总调用次数以及重复调用次数传输到预设报备模板中的各个区域中,生成各个接口的性能数据报表。此外还可以将各接口在各个预设耗时区间中的调用次数占比、重复占比和超时占比等显示在性能数据报表中,并将所生成的性能数据报表输出显示;以便于通过查看该显示的性能数据报表,确定各接口在预设时间段内的并发量、平均性能、性能等级等。

同时,对于各接口中所存在的异常数据,如大于预设耗时阈值的最大耗时、大于第一预设占比的重复占比,或者大于第二预设占比的超时占比等;将该各个异常数据在性能数据报表中区别显示,以便于对该类异常数据进行查看,并对具有该异常数据的接口进行相应的优化。此外,因不同预设时间内各接口在调用过程中所生成的数据不相同,从而需要用后一预设时间内的各数据对前一预设时间所生成的性能数据报表进行替换更新,以反映各接口在使用过程中的性能,便于对各接口的性能进行跟踪处理。

此外,请参照图2,本发明提供一种接口的性能监控装置,在本发明接口的性能监控装置第一实施例中,所述接口的性能监控装置包括:

统计模块10,用于每间隔预设时间抓取对各接口进行监控所生成的监控日志文件,并对所述监控日志文件中的日志数据进行分类统计,生成各所述接口的总调用次数、各次调用耗时以及重复调用次数;

生成模块20,用于将所述各次调用耗时和预设耗时阈值对比,生成各所述接口的超时次数,并根据各所述超时次数和各所述总调用次数,生成各所述接口的超时占比;

监控模块30,用于根据各所述重复调用次数和各所述总调用次数,生成各所述接口的重复占比,并根据各所述重复占比和各所述超时占比,对各所述接口的性能进行监控。

本实施例的接口的性能监控装置,统计模块10先抓取对各接口进行监控所生成的监控日志文件,并对各监控日志文件进行分类统计,生成各接口在预设时间内的总调用次数、各次调用耗时以及重复调用次数;生成模块20再将各次调用耗时和预设耗时阈值对比,生成各个接口的超时次数,并依据各超时次数和各总调用次数,生成各个接口的超时占比;进而监控模块30依据各重复调用次数和各总调用次数,生成各接口的重复占比,通过各接口的重复占比和各超时占比,对各接口的性能进行监控。本方案中的重复占比和超时占比分别表征了预设时间内,对接口进行重复调用和调用耗时长的次数数量,当重复调用次数和调用耗时长的次数越少,则说明接口的性能越好,反之则越差;通过对日志数据分类统计得到的总调用次数、各次调用耗时以及重复调用次数,所生成的重复占比和超时占比来监控接口的性能;避免通过从大量日志数据中检索调用耗时来反映接口的性能,节省了检索时间,且提高了对接口性能监控的准确性。

进一步地,在本发明接口的性能监控装置另一实施例中,所述监控模块还包括:

确定单元,用于将各所述重复占比和第一预设占比对比,确定各所述重复占比中大于所述第一预设占比的目标重复占比,并将与各所述目标重复占比对应的接口确定为目标重复接口,基于所述目标重复接口输出缓存提示信息;

对比单元,用于将各所述超时占比和第二预设占比对比,确定各所述超时占比中大于所述第二预设占比的目标超时占比,并将与各所述目标超时占比对应的接口确定为目标超时接口;

监控单元,用于获取各所述目标超时接口的网络信息,与各所述目标超时接口对应服务器的第一负载信息以及与各所述目标超时接口对应数据库的第二负载信息,并根据各所述网络信息、第一负载信息和第二负载信息,对各所述目标超时接口进行监控。

进一步地,在本发明接口的性能监控装置另一实施例中,所述监控单元还用于:

将各所述目标超时接口的网络信息、第一负载信息以及第二负载信息分别和预设网络阈值、预设服务阈值和预设负载阈值对比,生成各所述目标超时接口的第一对比结果、第二对比结果和第三对比结果;

根据各所述目标超时接口的第一对比结果、第二对比结果和第三对比结果,将各所述目标超时接口划分为第一目标超时接口和第二目标超时接口,其中所述第一目标超时接口的第一对比结果、第二对比结果和第三对比结果中存在任意一项为异常项;

对各所述第一目标超时接口输出与所述异常项对应的第一预警信息,并对各所述第二目标超时接口输出接口性能异常的第二预警信息。

进一步地,在本发明接口的性能监控装置另一实施例中,所述接口的性能监控装置还包括:

划分模块,用于调用预设耗时区间,并将各所述接口的各次调用耗时划分到各所述预设耗时区间中,统计各所述预设耗时区间具有各所述接口的各次调用耗时的调用数量;

确定模块,用于将各所述调用数量和各所述接口的总调用次数做比值,确定各所述接口在各所述预设耗时区间的调用次数占比,并根据各所述调用次数占比,确定各所述接口的性能等级,根据所述性能等级对各所述接口进行性能监控。

进一步地,在本发明接口的性能监控装置另一实施例中,所述确定模块还用于:

将各所述接口的调用次数占比和第三预设占比对比,判断各所述接口的调用次数占比中是否存在大于所述第三预设占比的目标调用次数占比;

若存在大于所述第三预设占比的目标调用次数占比,则根据所述目标调用次数占比所对应预设耗时区间的区间等级,确定具有所述目标调用次数占比的目标接口的性能等级,并根据所述性能等级对所述目标接口进行性能监控;

若不存在大于所述第三预设占比的目标调用次数占比,则确定各所述接口的性能等级为中等,并根据所述性能等级对各所述接口进行性能监控,生成的监控结果为均衡。

进一步地,在本发明接口的性能监控装置另一实施例中,所述确定模块还用于:

当所述性能等级为优等时,则对各所述目标接口进行性能监控,生成的监控结果为优质;

当所述性能等级为差等时,则对各所述目标接口进行性能监控,生成的监控结果为劣质,并输出优化提示信息。

进一步地,在本发明接口的性能监控装置另一实施例中,所述接口的性能监控装置还包括:

对比模块,用于根据各所述接口的各次调用耗时和总调用次数,生成各所述接口的平均耗时,并在各所述接口的各次调用耗时之间进行对比,确定各所述接口的最大耗时;

输出模块,用于将各所述接口的平均耗时、最大耗时、总调用次数以及重复调用次数分别传输到预设报表模板中,生成各所述接口的性能数据报表。

其中,上述接口的性能监控装置的各虚拟功能模块存储于图3所示接口的性能监控设备的存储器1005中,处理器1001执行接口的性能监控程序时,实现图2所示实施例中各个模块的功能。

参照图3,图3是本发明实施例方法涉及的硬件运行环境的设备结构示意图。

本发明实施例接口的性能监控设备可以是pc(personalcomputer,个人计算机),也可以是智能手机、平板电脑、电子书阅读器、便携计算机等终端设备。

如图3所示,该接口的性能监控设备可以包括:处理器1001,例如cpu(centralprocessingunit,中央处理器),存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速ram(randomaccessmemory,随机存取存储器),也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

可选地,该接口的性能监控设备还可以包括用户接口、网络接口、摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi(wirelessfidelity,无线宽带)模块等等。用户接口可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。

本领域技术人员可以理解,图3中示出的接口的性能监控设备结构并不构成对接口的性能监控设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图3所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块以及接口的性能监控程序。操作系统是管理和控制接口的性能监控设备硬件和软件资源的程序,支持接口的性能监控程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与接口的性能监控设备中其它硬件和软件之间通信。

在图3所示的接口的性能监控设备中,处理器1001用于执行存储器1005中存储的接口的性能监控程序,实现上述接口的性能监控方法各实施例中的步骤。

本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述接口的性能监控方法各实施例中的步骤。

还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个计算机可读存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1