CN111881060B - 一种接口性能测试方法、装置及电子设备 - Google Patents
一种接口性能测试方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111881060B CN111881060B CN202011036729.6A CN202011036729A CN111881060B CN 111881060 B CN111881060 B CN 111881060B CN 202011036729 A CN202011036729 A CN 202011036729A CN 111881060 B CN111881060 B CN 111881060B
- Authority
- CN
- China
- Prior art keywords
- preset
- thread
- server
- client
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种接口性能测试方法、装置及电子设备,其中方法包括:在预设开发环境下,通过客户端接收预设参数,并将所述预设参数发送至服务端;所述服务端根据所述预设参数进行线程管理,并返回线程的数据信息至所述客户端;所述客户端根据所述数据信息计算在预设参数下当前接口的每秒查询率值,并将所述每秒查询率值进行输出;该方法能够实现在接口开发过程中测试接口性能,提高软件的稳定性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种接口性能测试方法、装置及电子设备。
背景技术
在软件***开发中,需要通过定义“接口”实现功能之间的关联和调用。但开发人员在例如IntelliJ IDEA的开发环境上进行接口开发的过程中,难以对开发的接口性能方面做到深入了解,以至于功能上线后常常会出现一系列并发请求引发的问题,使软件的可用度严重下降,极大的影响了用户对软件的体验度。
发明内容
本发明提供了一种接口性能测试方法、装置及电子设备,以实现对接口开发过程中的性能测试,提高软件的稳定性。
一种接口性能测试方法,包括:
在预设开发环境下,通过客户端接收预设参数,并将所述预设参数发送至服务端;
所述服务端根据所述预设参数进行线程管理,并返回线程的数据信息至所述客户端;
所述客户端根据所述数据信息计算在预设参数下当前接口的每秒查询率值,并将所述每秒查询率值进行输出。
进一步地,所述预设开发环境包括IntelliJ IDEA开发环境。
进一步地,所述预设参数包括预设线程数、预设连接数和预设时长。
进一步地,所述服务端包括选择器;
所述服务端根据所述预设参数进行线程管理,包括:
预设时长内,通过所述选择器记录按照预设线程数的线程中,每个线程内执行预设连接数的关联事件的耗时时长。
进一步地,所述数据信息为每个线程内执行预设连接数的关联事件的耗时时长;
所述客户端根据所述数据信息计算在预设参数下当前接口的每秒查询率值,包括:
在预设时长内,检测是否接收到服务端发送的预设线程数的每个线程内执行预设连接数的关联事件的耗时时长;
如果是,则计算所述耗时时长的平均值,获得所述每秒查询率值。
一种接口性能测试装置,包括服务端和客户端;
在预设开发环境下,所述客户端用于接收预设参数,并将所述预设参数发送至服务端;
所述服务端用于根据所述预设参数进行线程管理,并返回线程的数据信息至所述客户端;
所述客户端还用于根据所述数据信息计算在预设参数下当前接口的每秒查询率值,并将所述每秒查询率值进行输出。
进一步地,所述预设参数包括预设线程数、预设连接数和预设时长;所述服务端包括选择器;
所述服务端还用于在预设时长内,通过所述选择器记录按照预设线程数的线程中,每个线程内执行预设连接数的关联事件的耗时时长。
进一步地,所述数据信息为每个线程内执行预设连接数的关联事件的耗时时长;
所述客户端还用于在预设时长内,检测是否接收到服务端发送的预设线程数的每个线程内执行预设连接数的关联事件的耗时时长;如果是,则计算所述耗时时长的平均值,获得所述每秒查询率值。
一种电子设备,包括处理器和存储器,所述存储器存储有多条指令,所述处理器用于读取所述多条指令并执行上述的接口性能测试方法。
一种计算机可读存储介质,所述计算机存储介质存储有多条指令,所述多条指令可被处理器读取并执行上述的接口性能测试方法。
本发明提供的接口性能测试方法、装置及电子设备,至少包括如下有益效果:
(1)实现接口开发过程中的性能测试,提高软件的稳定性;
(2)能够提前预知接口潜在的缺陷,以便及时修复和优化;
(3)可以直接在IntelliJ IDEA环境中对本地开发完成的接口或远程接口测试,无需依附其他第三方接口性能测试软件,方便性高。
附图说明
图1为本发明提供的接口性能测试方法一种实施例的流程图。
图2为本发明提供的接口性能测试装置一种实施例的结构示意图。
图3为本发明提供的电子设备一种实施例的结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案做详细的说明。
参考图1,本实施例提供一种接口性能测试方法,包括:
步骤S101,在预设开发环境下,通过客户端接收预设参数,并将所述预设参数发送至服务端;
步骤S102,所述服务端根据所述预设参数进行线程管理,并返回线程的数据信息至所述客户端;
步骤S103,所述客户端根据所述数据信息计算在预设参数下当前接口的每秒查询率值,并将所述每秒查询率值进行输出。
其中,所述客户端和服务端是在所述预设开发环境下预先创建的。在一些实施例中,在步骤S101之前,在预设开发环境下,接收用户(例如开发者)发送的服务端创建请求,根据该服务端创建请求创建服务(server)端;接收用户发送的客户端创建请求,根据该客户端创建请求创建客户(client)端。
在一些实施例中,所述预设开发环境包括IntelliJ IDEA开发环境,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)可以直接在IntelliJ IDEA对本地开发完成的接口或远程接口测试,无需依附其他第三方接口性能测试软件,方便性高。
参考图2,本实施例提供一种接口性能测试装置,包括服务端201和客户端202;
在预设开发环境下,客户端202用于接收预设参数,并将所述预设参数发送至服务端201;
服务端201用于根据所述预设参数进行线程管理,并返回线程的数据信息至客户端202;
客户端202还用于根据所述数据信息计算在预设参数下当前接口的每秒查询率值,并将所述每秒查询率值进行输出。
在一些实施例中,所述预设参数包括预设线程数、预设连接数和预设时长;客户端202接收预设参数:预设线程数(thread)、预设连接数(connection)和预设时长(time),并将预设线程数(thread)、预设连接数(connection)和预设时长(time)传递到服务端。
服务端调用所测试的接口,以按照预设线程数创建线程并按照预设连接数在线程内执行关联事件。该关联事件包括通道(channel)的建立、数据到达等,该关联事件的执行主体为所测试的接口,一个线程可包括预设连接数(connection)个关联事件。在一些实施例中,服务端包括选择器(selector)。在预设时长内,服务端通过选择器监控预设线程数(thread)下每个线程内的关联事件,记录每个线程内执行预设连接数的关联事件的耗时时长,每个线程均返回该耗时时长至客户端。
客户端201还用于在预设时长内,检测是否接收到服务端发送的预设线程数的每个线程在预设连接数下的关联事件的耗时时长;如果是,则计算在预设线程数下所述耗时时长的平均值,获得所述每秒查询率值(QPS)。
如果预设时长内,接收到耗时时长的线程数少于预设线程数,则不进行计算。
客户端201统计出预设线程数和预设连接数条件下当前接口的每秒查询率(QPS)值,由此实现了对接口的性能测试。
可选地,所述预设开发环境包括IntelliJ IDEA开发环境,利用IntelliJ IDEA开发环境提供自定义插件开发的功能实现上述接口性能测试装置。上述装置作为插件直接在IntelliJ IDEA开发环境中对本地开发完成的接口进行性能测试,用户利用插件提供的界面输入所述预设参数。
在另一些实施例中,上述预设参数还包括URL,格式例如为ip+port+contextPath+interfaceName,客户端将包括URL的预设参数传递至服务端。与上述实施例不同的是,在执行步骤S102之前,服务端以所述URL作为目标地址调用接口,在步骤S102中由所调用的接口按照预设线程数创建线程并按照预设连接数在线程内执行关联事件。由此,可以针对远程接口进行性能测试。其它测试过程参照上述实施例,在此不再赘述。
本实施例提供的接口性能测试装置,至少包括如下有益效果:
(1)实现对接口开发过程中的性能测试,提高软件的稳定性;
(2)能够提前预知接口潜在的缺陷,以便及时修复和优化;
(3)可以直接在IntelliJ IDEA环境中对本地开发完成的接口或远程接口测试,无需依附其他第三方接口性能测试软件,方便性高。
参考图3,本实施例还提供一种电子设备,包括处理器301和存储器302,存储器302存储有多条指令,处理器301用于读取所述多条指令并执行上述的接口性能测试方法,例如包括:在预设开发环境下,通过客户端接收预设参数,并将所述预设参数发送至服务端;所述服务端根据所述预设参数进行线程管理,并返回线程的数据信息至所述客户端;所述客户端根据所述数据信息计算在预设参数下当前接口的每秒查询率值,并将所述每秒查询率值进行输出。
本实施例还提供一种计算机可读存储介质,所述计算机存储介质存储有多条指令,所述多条指令可被处理器读取并执行上述的接口性能测试方法,例如包括:在预设开发环境下,通过客户端接收预设参数,并将所述预设参数发送至服务端;所述服务端根据所述预设参数进行线程管理,并返回线程的数据信息至所述客户端;所述客户端根据所述数据信息计算在预设参数下当前接口的每秒查询率值,并将所述每秒查询率值进行输出。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (4)
1.一种接口性能测试方法,其特征在于,包括:
在预设开发环境下,通过客户端接收预设参数,并将所述预设参数发送至服务端,所述预设参数包括预设线程数、预设连接数和预设时长;
所述服务端根据所述预设参数进行线程管理,并返回线程的数据信息至所述客户端;
所述客户端根据所述数据信息计算在预设参数下当前接口的每秒查询率值,并将所述每秒查询率值进行输出;
所述服务端包括选择器,所述数据信息为每个线程内执行预设连接数的关联事件的耗时时长;
所述服务端根据所述预设参数进行线程管理包括:
所述服务端调用所测试的接口,以按照预设线程数创建线程并按照预设连接数在线程内执行关联事件,在预设时长内,通过所述选择器监控预设线程数下每个线程内的关联事件,记录每个线程内执行预设连接数的关联事件的耗时时长;
所述客户端根据所述数据信息计算在预设参数下当前接口的每秒查询率值,包括:
在预设时长内,检测是否接收到服务端发送的预设线程数的每个线程内执行预设连接数的关联事件的耗时时长;
如果是,则计算所述耗时时长的平均值,获得所述每秒查询率值;
其中,所述客户端和服务端是在所述预设开发环境下预先创建的,所述预设开发环境包括IntelliJ IDEA开发环境。
2.一种接口性能测试装置,其特征在于,包括服务端和客户端;
在预设开发环境下,所述客户端用于接收预设参数,并将所述预设参数发送至服务端,所述预设参数包括预设线程数、预设连接数和预设时长;
所述服务端包括选择器,所述服务端用于调用所测试的接口,以按照预设线程数创建线程并按照预设连接数在线程内执行关联事件,在预设时长内,通过所述选择器监控预设线程数下每个线程内的关联事件,记录每个线程内执行预设连接数的关联事件的耗时时长,返回该耗时时长至客户端;
所述客户端用于在预设时长内,检测是否接收到服务端发送的预设线程数的每个线程内执行预设连接数的关联事件的耗时时长;如果是,则计算所述耗时时长的平均值,获得每秒查询率值;
其中,所述客户端和服务端是在所述预设开发环境下预先创建的,所述预设开发环境包括IntelliJ IDEA开发环境。
3.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有多条指令,所述处理器用于读取所述多条指令并执行如权利要求1所述的接口性能测试方法。
4.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述多条指令可被处理器读取并执行如权利要求1所述的接口性能测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011036729.6A CN111881060B (zh) | 2020-09-28 | 2020-09-28 | 一种接口性能测试方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011036729.6A CN111881060B (zh) | 2020-09-28 | 2020-09-28 | 一种接口性能测试方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111881060A CN111881060A (zh) | 2020-11-03 |
CN111881060B true CN111881060B (zh) | 2021-01-15 |
Family
ID=73199174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011036729.6A Active CN111881060B (zh) | 2020-09-28 | 2020-09-28 | 一种接口性能测试方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111881060B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833125A (zh) * | 2011-06-17 | 2012-12-19 | 腾讯科技(深圳)有限公司 | 测试服务器、采用该测试服务器的测试***及其测试方法 |
CN108512710B (zh) * | 2017-02-24 | 2022-05-24 | 腾讯科技(深圳)有限公司 | 基于测试工具的测试方法和测试工具 |
CN111026636A (zh) * | 2019-09-27 | 2020-04-17 | 珠海随变科技有限公司 | 一种软件项目的测试方法、装置、设备及存储介质 |
CN110750458A (zh) * | 2019-10-22 | 2020-02-04 | 恩亿科(北京)数据科技有限公司 | 大数据平台测试方法、装置、可读存储介质及电子设备 |
-
2020
- 2020-09-28 CN CN202011036729.6A patent/CN111881060B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111881060A (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106681811B (zh) | 基于线程池的多线程调度方法及装置 | |
CN110471749B (zh) | 任务处理方法、装置、计算机可读存储介质和计算机设备 | |
CN110708212B (zh) | 分布式***中调用链路的追踪方法及装置 | |
CN109344066B (zh) | 一种浏览器页面的测试方法、***及终端 | |
CN104683181B (zh) | 一种性能监控方法、设备和*** | |
CN111694748B (zh) | 压力测试方法及装置 | |
CN112631879A (zh) | 数据采集方法、装置、计算机可读介质及电子设备 | |
CN103218295A (zh) | Esb消息处理能力的测试方法和*** | |
CN107102937B (zh) | 一种用户界面测试方法和装置 | |
US10432490B2 (en) | Monitoring single content page application transitions | |
US10191844B2 (en) | Automatic garbage collection thrashing monitoring | |
CN111881060B (zh) | 一种接口性能测试方法、装置及电子设备 | |
CN112363980A (zh) | 一种分布式***的数据处理方法及装置 | |
CN108280024A (zh) | 流量分配策略测试方法、装置及电子设备 | |
CN114077540A (zh) | 一种接口测试***及接口测试方法 | |
CN110298001B (zh) | 日志数据包的获取方法和装置及计算机可读存储介质 | |
CN110162982B (zh) | 检测非法权限的方法及装置、存储介质、电子设备 | |
CN110851688A (zh) | 页面请求方法、装置和设备 | |
CN114465919B (zh) | 一种网络服务测试方法、***、电子设备及存储介质 | |
CN111506422B (zh) | 事件分析方法及*** | |
US20180063005A1 (en) | Non-blocking request processing method and device | |
CN112866431A (zh) | 一种ip地址的分配方法、装置及计算机设备 | |
CN112416763A (zh) | 一种自动化测试接口的方法、装置、设备及存储介质 | |
CN110908886A (zh) | 一种数据发送方法、装置、电子设备和存储介质 | |
CN116578631B (zh) | 数据交互方法、数据采集设备、数据处理设备及交互*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |