一种接口性能测试方法、装置及电子设备与流程

文档序号:22795912发布日期:2020-11-04 03:48阅读:121来源:国知局
一种接口性能测试方法、装置及电子设备与流程

本发明涉及计算机技术领域,尤其涉及一种接口性能测试方法、装置及电子设备。



背景技术:

在软件系统开发中,需要通过定义“接口”实现功能之间的关联和调用。但开发人员在例如intellijidea的开发环境上进行接口开发的过程中,难以对开发的接口性能方面做到深入了解,以至于功能上线后常常会出现一系列并发请求引发的问题,使软件的可用度严重下降,极大的影响了用户对软件的体验度。



技术实现要素:

本发明提供了一种接口性能测试方法、装置及电子设备,以实现对接口开发过程中的性能测试,提高软件的稳定性。

一种接口性能测试方法,包括:

在预设开发环境下,通过客户端接收预设参数,并将所述预设参数发送至服务端;

所述服务端根据所述预设参数进行线程管理,并返回线程的数据信息至所述客户端;

所述客户端根据所述数据信息计算在预设参数下当前接口的每秒查询率值,并将所述每秒查询率值进行输出。

进一步地,所述预设开发环境包括intellijidea开发环境。

进一步地,所述预设参数包括预设线程数、预设连接数和预设时长。

进一步地,所述服务端包括选择器;

所述服务端根据所述预设参数进行线程管理,包括:

预设时长内,通过所述选择器记录按照预设线程数的线程中,每个线程内执行预设连接数的关联事件的耗时时长。

进一步地,所述数据信息为每个线程内执行预设连接数的关联事件的耗时时长;

所述客户端根据所述数据信息计算在预设参数下当前接口的每秒查询率值,包括:

在预设时长内,检测是否接收到服务端发送的预设线程数的每个线程内执行预设连接数的关联事件的耗时时长;

如果是,则计算所述耗时时长的平均值,获得所述每秒查询率值。

一种接口性能测试装置,包括服务端和客户端;

在预设开发环境下,所述客户端用于接收预设参数,并将所述预设参数发送至服务端;

所述服务端用于根据所述预设参数进行线程管理,并返回线程的数据信息至所述客户端;

所述客户端还用于根据所述数据信息计算在预设参数下当前接口的每秒查询率值,并将所述每秒查询率值进行输出。

进一步地,所述预设参数包括预设线程数、预设连接数和预设时长;所述服务端包括选择器;

所述服务端还用于在预设时长内,通过所述选择器记录按照预设线程数的线程中,每个线程内执行预设连接数的关联事件的耗时时长。

进一步地,所述数据信息为每个线程内执行预设连接数的关联事件的耗时时长;

所述客户端还用于在预设时长内,检测是否接收到服务端发送的预设线程数的每个线程内执行预设连接数的关联事件的耗时时长;如果是,则计算所述耗时时长的平均值,获得所述每秒查询率值。

一种电子设备,包括处理器和存储器,所述存储器存储有多条指令,所述处理器用于读取所述多条指令并执行上述的接口性能测试方法。

一种计算机可读存储介质,所述计算机存储介质存储有多条指令,所述多条指令可被处理器读取并执行上述的接口性能测试方法。

本发明提供的接口性能测试方法、装置及电子设备,至少包括如下有益效果:

(1)实现接口开发过程中的性能测试,提高软件的稳定性;

(2)能够提前预知接口潜在的缺陷,以便及时修复和优化;

(3)可以直接在intellijidea环境中对本地开发完成的接口或远程接口测试,无需依附其他第三方接口性能测试软件,方便性高。

附图说明

图1为本发明提供的接口性能测试方法一种实施例的流程图。

图2为本发明提供的接口性能测试装置一种实施例的结构示意图。

图3为本发明提供的电子设备一种实施例的结构示意图。

具体实施方式

为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案做详细的说明。

参考图1,本实施例提供一种接口性能测试方法,包括:

步骤s101,在预设开发环境下,通过客户端接收预设参数,并将所述预设参数发送至服务端;

步骤s102,所述服务端根据所述预设参数进行线程管理,并返回线程的数据信息至所述客户端;

步骤s103,所述客户端根据所述数据信息计算在预设参数下当前接口的每秒查询率值,并将所述每秒查询率值进行输出。

其中,所述客户端和服务端是在所述预设开发环境下预先创建的。在一些实施例中,在步骤s101之前,在预设开发环境下,接收用户(例如开发者)发送的服务端创建请求,根据该服务端创建请求创建服务(server)端;接收用户发送的客户端创建请求,根据该客户端创建请求创建客户(client)端。

在一些实施例中,所述预设开发环境包括intellijidea开发环境,intellijidea开发环境提供自定义插件开发的功能,可利用该功能开发插件来实施上述方法。

在一些实施例中,所述预设参数包括预设线程数(thread)、预设连接数(connection)和预设时长(time)。所述预设参数可选地由用户输入。

执行步骤s101,通过客户端接收预设参数:预设线程数(thread)、预设连接数(connection)和预设时长(time),并将预设线程数(thread)、预设连接数(connection)和预设时长(time)传递到服务端。

步骤s102中,服务端调用所测试的接口,以按照预设线程数创建线程并按照预设连接数在线程内执行关联事件。该关联事件包括通道(channel)的建立、数据到达等,该关联事件的执行主体为所测试的接口,一个线程可包括预设连接数(connection)个关联事件。在一些实施例中,服务端包括选择器(selector)。在预设时长内,服务端通过选择器监控预设线程数(thread)下每个线程内的关联事件,记录每个线程内执行预设连接数的关联事件的耗时时长,每个线程均返回该耗时时长至客户端。

进一步地,执行步骤s103,客户端在预设时长内,检测是否接收到服务端发送的预设线程数的每个线程内执行预设连接数的关联事件的耗时时长;如果是,则计算在预设线程数下所述耗时时长的平均值,获得所述每秒查询率值(qps)。

如果预设时长内,接收到耗时时长的线程数少于预设线程数,则不进行计算。

客户端统计出预设线程数和预设连接数条件下当前接口的每秒查询率(qps)值,由此实现了对接口的性能测试。

在另一些实施例中,上述预设参数还包括url,格式例如为ip+port+contextpath+interfacename,客户端将包括url的预设参数传递至服务端。与上述实施例不同的是,在执行步骤s102之前,服务端以所述url作为目标地址调用接口,在步骤s102中由所调用的接口按照预设线程数创建线程并按照预设连接数在线程内执行关联事件。由此,可以针对远程接口进行性能测试。其它测试过程参照上述实施例,在此不再赘述。

本实施例提供的接口性能测试方法,至少包括如下有益效果:

(1)实现对接口开发过程中的性能测试,提高软件的稳定性;

(2)能够提前预知接口潜在的缺陷,以便及时修复和优化;

(3)可以直接在intellijidea对本地开发完成的接口或远程接口测试,无需依附其他第三方接口性能测试软件,方便性高。

参考图2,本实施例提供一种接口性能测试装置,包括服务端201和客户端202;

在预设开发环境下,客户端202用于接收预设参数,并将所述预设参数发送至服务端201;

服务端201用于根据所述预设参数进行线程管理,并返回线程的数据信息至客户端202;

客户端202还用于根据所述数据信息计算在预设参数下当前接口的每秒查询率值,并将所述每秒查询率值进行输出。

在一些实施例中,所述预设参数包括预设线程数、预设连接数和预设时长;客户端202接收预设参数:预设线程数(thread)、预设连接数(connection)和预设时长(time),并将预设线程数(thread)、预设连接数(connection)和预设时长(time)传递到服务端。

服务端调用所测试的接口,以按照预设线程数创建线程并按照预设连接数在线程内执行关联事件。该关联事件包括通道(channel)的建立、数据到达等,该关联事件的执行主体为所测试的接口,一个线程可包括预设连接数(connection)个关联事件。在一些实施例中,服务端包括选择器(selector)。在预设时长内,服务端通过选择器监控预设线程数(thread)下每个线程内的关联事件,记录每个线程内执行预设连接数的关联事件的耗时时长,每个线程均返回该耗时时长至客户端。

客户端201还用于在预设时长内,检测是否接收到服务端发送的预设线程数的每个线程在预设连接数下的关联事件的耗时时长;如果是,则计算在预设线程数下所述耗时时长的平均值,获得所述每秒查询率值(qps)。

如果预设时长内,接收到耗时时长的线程数少于预设线程数,则不进行计算。

客户端201统计出预设线程数和预设连接数条件下当前接口的每秒查询率(qps)值,由此实现了对接口的性能测试。

可选地,所述预设开发环境包括intellijidea开发环境,利用intellijidea开发环境提供自定义插件开发的功能实现上述接口性能测试装置。上述装置作为插件直接在intellijidea开发环境中对本地开发完成的接口进行性能测试,用户利用插件提供的界面输入所述预设参数。

在另一些实施例中,上述预设参数还包括url,格式例如为ip+port+contextpath+interfacename,客户端将包括url的预设参数传递至服务端。与上述实施例不同的是,在执行步骤s102之前,服务端以所述url作为目标地址调用接口,在步骤s102中由所调用的接口按照预设线程数创建线程并按照预设连接数在线程内执行关联事件。由此,可以针对远程接口进行性能测试。其它测试过程参照上述实施例,在此不再赘述。

本实施例提供的接口性能测试装置,至少包括如下有益效果:

(1)实现对接口开发过程中的性能测试,提高软件的稳定性;

(2)能够提前预知接口潜在的缺陷,以便及时修复和优化;

(3)可以直接在intellijidea环境中对本地开发完成的接口或远程接口测试,无需依附其他第三方接口性能测试软件,方便性高。

参考图3,本实施例还提供一种电子设备,包括处理器301和存储器302,存储器302存储有多条指令,处理器301用于读取所述多条指令并执行上述的接口性能测试方法,例如包括:在预设开发环境下,通过客户端接收预设参数,并将所述预设参数发送至服务端;所述服务端根据所述预设参数进行线程管理,并返回线程的数据信息至所述客户端;所述客户端根据所述数据信息计算在预设参数下当前接口的每秒查询率值,并将所述每秒查询率值进行输出。

本实施例还提供一种计算机可读存储介质,所述计算机存储介质存储有多条指令,所述多条指令可被处理器读取并执行上述的接口性能测试方法,例如包括:在预设开发环境下,通过客户端接收预设参数,并将所述预设参数发送至服务端;所述服务端根据所述预设参数进行线程管理,并返回线程的数据信息至所述客户端;所述客户端根据所述数据信息计算在预设参数下当前接口的每秒查询率值,并将所述每秒查询率值进行输出。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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