本发明涉及通信技术领域,尤其涉及一种web服务器接口耗时统计方法及装置。
背景技术
在对web服务器接口进行性能测试或者监控的时候,需要计算接口的耗时时间,并通过接口的耗时时间来评估当前后台服务器的潜在性能瓶颈,所以计算耗时的方法的准确性就显得尤其重要,计算方法越准确,约定体现真实的负载情况。针对现有的在接口调用前打个时间戳,结束后记个时间戳,然后两者做差的方式来统计耗时的方法进行优化改进,但针对异步调用情况时,接口协议未执行完成,调用方会接收到一反馈结果,并去执行下一目标接口的调用任务,由于该反馈结果非执行完成结果,此时势必会造成统计的接口耗时不准确。
技术实现要素:
本发明提供一种web服务器接口耗时统计方法及装置,用于解决现有技术中针对异步调用情况下统计的接口耗时不准确的问题。
第一方面,本发明实施例提供一种web服务器接口耗时统计方法,包括:
接收到调用设备对目标接口发送的接口调用请求,并记录请求时间,所述接口调用请求包括接口类型和延迟调用指令;
在根据所述接口类型确定所述目标接口对应的接口协议为异步执行类型时,根据所述延迟调用指令使所述接口协议执行完毕,并向所述调用设备发送调用反馈结果,记录发送时间;
根据所述请求时间和所述发送时间获得所述目标接口的接口耗时。
可选地,还包括:
在根据所述接口类型确定所述目标接口对应的接口协议为同步执行类型时,执行所述接口协议,并向所述调用设备发送调用反馈结果,记录发送时间。
可选地,还包括:
在根据所述接口类型确定所述目标接口对应的接口协议为异步执行类型时,向所述调用设备发送反馈请求结果,以使所述调用设备对下一目标接口发送对应的接口调用请求。
可选地,所述根据所述请求时间和所述发送时间获得所述目标接口的接口耗时,包括:根据所述请求时间和所述发送时间获取间隔时间,作为所述目标接口的接口耗时。
第二方面,本发明实施例提供的一种web服务器接口耗时统计装置,包括:
接收模块,用于接收到调用设备对目标接口发送的接口调用请求,并记录请求时间,所述接口调用请求包括接口类型和延迟调用指令;
执行模块,用于在根据所述接口类型确定所述目标接口对应的接口协议为异步执行类型时,根据所述延迟调用指令使所述接口协议执行完毕,并向所述调用设备发送调用反馈结果,记录发送时间;
统计模块,用于根据所述请求时间和所述发送时间获得所述目标接口的接口耗时。
可选地,所述执行模块还用于:
在根据所述接口类型确定所述目标接口对应的接口协议为同步执行类型时,执行所述接口协议,并向所述调用设备发送调用反馈结果,记录发送时间。
可选地,还包括发送模块,用于:
在根据所述接口类型确定所述目标接口对应的接口协议为异步执行类型时,向所述调用设备发送反馈请求结果,以使所述调用设备对下一目标接口发送对应的接口调用请求。
可选地,所述统计模块具体用于:根据所述请求时间和所述发送时间获取间隔时间,作为所述目标接口的接口耗时。
第三方面,本发明实施例提供一种电子设备,包括:处理器、存储器、总线及存储在存储器上并可在处理器上运行的计算机程序;
其中,所述处理器,存储器通过所述总线完成相互间的通信;
所述处理器执行所述计算机程序时实现如上述的方法。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如上述的方法。
由上述技术方案可知,本发明实施例提供的一种web服务器接口耗时统计方法及装置,通过接收到调用设备对目标接口发送的接口类型和延迟调用指令,并记录请求时间,并在根据所述接口类型确定所述目标接口对应的接口协议为异步执行类型时,根据所述延迟调用指令使所述接口协议执行完毕,并向所述调用设备发送调用反馈结果,记录发送时间,从而根据所述请求时间和所述发送时间获得所述目标接口的接口耗时,可有效统计各接口的真正耗时,以评估当前设备的潜在性能瓶颈。
附图说明
图1为本发明一实施例提供的web服务器接口耗时统计方法的流程示意图;
图2为本发明一实施例提供的web服务器接口耗时统计装置的结构示意图;
图3为本发明一实施例提供的电子设备的结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1示出了本发明一实施例提供一种web服务器接口耗时统计方法,包括:
s11、接收到调用设备对目标接口发送的接口调用请求,并记录请求时间,所述接口调用请求包括接口类型和延迟调用指令;
s12、在根据所述接口类型确定所述目标接口对应的接口协议为异步执行类型时,根据所述延迟调用指令使所述接口协议执行完毕,并向所述调用设备发送调用反馈结果,记录发送时间;
s13、根据所述请求时间和所述发送时间获得所述目标接口的接口耗时。
针对上述步骤s11-步骤s13,需要说明的是,在对web服务器接口进行性能测试或者监控的时候,需要计算接口的耗时时间。在web服务器中,每一个接口对应一个接口协议,接口协议可被调用。
在执行接口调用过程中,调用设备会确定被调用设备的目标接口,并向该被调用设备发送对目标接口的接口调用请求,该接口调用请求可包括接口类型和延迟调用指令。由于需要统计目标接口的耗时,故被调用设备会记录接收到接口调用请求的请求时间。
在本实施例中,接口上的接口协议可分为异步调用或同步调用,即接口协议可分为异步执行类型和同步执行类型。
异步调用可被调用设备接收到调用请求后,不会等待被执行的接口协议是否完成,便向调用设备反馈请求结果,以使得调用设备继续执行对下一目标接口的调用请求。针对异步调用可采用:在根据所述接口类型确定所述目标接口对应的接口协议为异步执行类型时,向所述调用设备发送反馈请求结果,以使所述调用设备对下一目标接口发送对应的接口调用请求。
同步调用可被调用设备接收到调用请求后,等待被执行的接口协议完成,然后向调用设备发送调用反馈结果,以使调用设备继续执行对下一目标接口的调用请求。在本发明实施例中,针对同步调用可采用:在根据所述接口类型确定所述目标接口对应的接口协议为同步执行类型时,执行所述接口协议,并向所述调用设备发送调用反馈结果。
在本发明实施例中,在根据所述接口类型确定所述目标接口对应的接口协议为异步执行类型时,根据所述延迟调用指令使所述接口协议执行完毕,并向所述调用设备发送调用反馈结果,记录发送时间。即当接口协议为异步执行类型时,得到延迟调用指令,需使所述接口协议执行完毕,才向所述调用设备发送调用反馈结果。此时,被调用设备会记录发送调用反馈结果的发送时间。
被调用设备根据所述请求时间和所述发送时间获得所述目标接口的接口耗时,即根据所述请求时间和所述发送时间获取间隔时间,作为所述目标接口的接口耗时。此时,便可解决当接口协议为异步执行类型时,可以按执行完成的时间作为获得目标接口耗时时间的结束时间。
本发明实施例提供的一种web服务器接口耗时统计方法,通过接收到调用设备对目标接口发送的接口类型和延迟调用指令,并记录请求时间,并在根据所述接口类型确定所述目标接口对应的接口协议为异步执行类型时,根据所述延迟调用指令使所述接口协议执行完毕,并向所述调用设备发送调用反馈结果,记录发送时间,从而根据所述请求时间和所述发送时间获得所述目标接口的接口耗时,可有效统计各接口的真正耗时,以评估当前设备的潜在性能瓶颈。
图2示出了本发明一实施例提供的一种web服务器接口耗时统计装置,包括接收模块21、执行模块22和统计模块23,其中:
接收模块21,用于接收到调用设备对目标接口发送的接口调用请求,并记录请求时间,所述接口调用请求包括接口类型和延迟调用指令;
执行模块22,用于在根据所述接口类型确定所述目标接口对应的接口协议为异步执行类型时,根据所述延迟调用指令使所述接口协议执行完毕,并向所述调用设备发送调用反馈结果,记录发送时间;
统计模块23,用于根据所述请求时间和所述发送时间获得所述目标接口的接口耗时。
还包括发送模块,用于:
在根据所述接口类型确定所述目标接口对应的接口协议为异步执行类型时,向所述调用设备发送反馈请求结果,以使所述调用设备对下一目标接口发送对应的接口调用请求。
由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。
需要说明的是,本发明实施例中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。
本发明实施例提供的一种web服务器接口耗时统计装置,通过接收到调用设备对目标接口发送的接口类型和延迟调用指令,并记录请求时间,并在根据所述接口类型确定所述目标接口对应的接口协议为异步执行类型时,根据所述延迟调用指令使所述接口协议执行完毕,并向所述调用设备发送调用反馈结果,记录发送时间,从而根据所述请求时间和所述发送时间获得所述目标接口的接口耗时,可有效统计各接口的真正耗时,以评估当前设备的潜在性能瓶颈。
图3示出了本发明实施例提供一种电子设备,包括:处理器31、存储器32、总线33及存储在存储器上并可在处理器上运行的计算机程序;
其中,所述处理器,存储器通过所述总线完成相互间的通信;
所述处理器执行所述计算机程序时实现如上述的方法,例如包括:接收到调用设备对目标接口发送的接口类型和延迟调用指令,并记录请求时间,并在根据所述接口类型确定所述目标接口对应的接口协议为异步执行类型时,根据所述延迟调用指令使所述接口协议执行完毕,并向所述调用设备发送调用反馈结果,记录发送时间,从而根据所述请求时间和所述发送时间获得所述目标接口的接口耗时。
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如上述的方法,例如包括:接收到调用设备对目标接口发送的接口类型和延迟调用指令,并记录请求时间,并在根据所述接口类型确定所述目标接口对应的接口协议为异步执行类型时,根据所述延迟调用指令使所述接口协议执行完毕,并向所述调用设备发送调用反馈结果,记录发送时间,从而根据所述请求时间和所述发送时间获得所述目标接口的接口耗时。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本领域普通技术人员可以理解:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。