CN111294250A - 压力测试方法、装置和系统 - Google Patents

压力测试方法、装置和系统 Download PDF

Info

Publication number
CN111294250A
CN111294250A CN201811496629.4A CN201811496629A CN111294250A CN 111294250 A CN111294250 A CN 111294250A CN 201811496629 A CN201811496629 A CN 201811496629A CN 111294250 A CN111294250 A CN 111294250A
Authority
CN
China
Prior art keywords
target server
test
test task
node
pressure
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.)
Granted
Application number
CN201811496629.4A
Other languages
English (en)
Other versions
CN111294250B (zh
Inventor
刘凯
周琳琳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
3600 Technology Group Co ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201811496629.4A priority Critical patent/CN111294250B/zh
Publication of CN111294250A publication Critical patent/CN111294250A/zh
Application granted granted Critical
Publication of CN111294250B publication Critical patent/CN111294250B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Abstract

本发明公开了压力测试方法、装置和系统。所述方法包括:启动一个调度节点和多个执行节点;通过所述调度节点向各执行节点下发测试任务,以使各执行节点根据所述测试任务与目标服务器建立基于MQTT协议的连接,通过所述连接实现压力测试;从所述目标服务器获取压力测试数据。该技术方案弥补了现有技术中对MQTT协议进行测试的缺失,并且通过调度‑执行的分布式模式,可以实现大量级的并发,有助于针对物联网环境下的消息传输场景进行针对性的测试。

Description

压力测试方法、装置和系统
技术领域
本发明涉及测试技术领域,具体涉及压力测试方法、装置和系统。
背景技术
物联网平台中最基础的部分之一就是通信,通信协议在物联网中常用的就是MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)协议,这是一种基于发布/订阅模式的轻量级通讯协议。针对MQTT协议实现的服务非常多。对于开发人员而言,选择合适的服务实现业务是需要解决的问题,而对于测试人员而言,则需要一种对使用MQTT协议进行消息传输的服务器进行有效测试的方式。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的压力测试方法、装置和系统。
依据本发明的一个方面,提供了一种压力测试方法,包括:
启动一个调度节点和多个执行节点;
通过所述调度节点向各执行节点下发测试任务,以使各执行节点根据所述测试任务与目标服务器建立基于MQTT协议的连接,通过所述连接实现压力测试;
从所述目标服务器获取压力测试数据。
可选地,所述测试任务包括如下的一种或多种:
瞬时压力测试任务;
梯度压力测试任务;
长时连接测试任务。
可选地,所述目标服务器为物联网云平台的代理服务器broker。
可选地,所述启动一个调度节点和多个执行节点包括:
启动多个容器,在所述多个容器中的一个容器中部署所述调度节点,在剩余容器中部署执行节点。
可选地,所述各执行节点根据所述测试任务与目标服务器建立基于MQTT协议的连接包括:
各执行节点通过所在容器的一个或多个端口分别与目标服务器的指定端口建立基于MQTT协议的连接。
可选地,所述压力测试数据包括如下的一项或多项指标:
TCP连接数,吞吐量,资源利用率。
可选地,所述方法还包括:
根据所述压力测试数据生成相应的测试报告。
依据本发明的另一方面,提供了一种压力测试装置,包括:
启动单元,适于启动一个调度节点和多个执行节点;
下发单元,适于通过所述调度节点向各执行节点下发测试任务,以使各执行节点根据所述测试任务与目标服务器建立基于MQTT协议的连接,通过所述连接实现压力测试;
获取单元,适于从所述目标服务器获取压力测试数据。
可选地,所述测试任务包括如下的一种或多种:
瞬时压力测试任务;
梯度压力测试任务;
长时连接测试任务。
可选地,所述目标服务器为物联网云平台的代理服务器broker。
可选地,所述启动单元,适于启动多个容器,在所述多个容器中的一个容器中部署所述调度节点,在剩余容器中部署执行节点。
可选地,所述各执行节点根据所述测试任务与目标服务器建立基于MQTT协议的连接包括:
各执行节点通过所在容器的一个或多个端口分别与目标服务器的指定端口建立基于MQTT协议的连接。
可选地,所述压力测试数据包括如下的一项或多项指标:
TCP连接数,吞吐量,资源利用率。
可选地,所述装置还包括:
生成单元,适于根据所述压力测试数据生成相应的测试报告。
依据本发明的又一方面,提供了一种压力测试系统,包括:
如上述任一项所述的压力测试装置,调度节点,多个执行节点,目标服务器。
依据本发明的再一方面,提供了一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如上述任一所述的方法。
依据本发明的再一方面,提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现如上述任一所述的方法。
由上述可知,本发明的技术方案,启动一个调度节点和多个执行节点,通过调度节点向各执行节点下发测试任务,以使各执行节点根据测试任务与目标服务器建立基于MQTT协议的连接,通过连接实现压力测试,从目标服务器获取压力测试数据。该技术方案弥补了现有技术中对MQTT协议进行测试的缺失,并且通过调度-执行的分布式模式,可以实现大量级的并发,有助于针对物联网环境下的消息传输场景进行针对性的测试。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种压力测试方法的流程示意图;
图2示出了根据本发明一个实施例的一种压力测试装置的结构示意图;
图3示出了根据本发明一个实施例的一种压力测试系统的结构示意图;
图4示出了根据本发明一个实施例的电子设备的结构示意图;
图5示出了根据本发明一个实施例的计算机可读存储介质的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的一种压力测试方法的流程示意图。如图1所示,该方法包括:
步骤S110,启动一个调度节点和多个执行节点。
在本发明的实施例中,执行压力测试的压力机是由多个执行节点实现的,例如30个左右,每台压力机可以建立数万基于MQTT协议的TCP连接,这样就实现了百万量级的TCP连接数,与IoT(Internet of Things,物联网)的现实场景对应,测试目标合理。
步骤S120,通过调度节点向各执行节点下发测试任务,以使各执行节点根据测试任务与目标服务器建立基于MQTT协议的连接,通过连接实现压力测试。
MQTT协议需要基于TCP实现,可以认为TCP协议是MQTT协议的底层协议。如背景技术中所介绍的,MQTT在物联网中得到了广泛应用,各类智能设备与物联网云平台之间的通信过程中往往都需要依赖该协议。在这里,可以在JMeter等不支持MQTT协议的测试工具上进行改进,例如添加MQTT连接、发布、订阅取样器,构造组合的应用场景,例如背景连接、多发少收、少发多收,计算消息转发时延等,使得执行节点可以通过MQTT协议实现多样化的测试。
步骤S130,从目标服务器获取压力测试数据。
目前,互联网产品的测试往往是基于HTTP协议的,这就导致目前使用的测试工具、测试目标等等与物联网场景下的测试并不一致,如前面的例子中,压力测试工具JMeter能够解决HTTP协议的分布式性能压测,但是对于MQTT协议的分布式压测暂时并没有支持。
可见,图1所示的方法,启动一个调度节点和多个执行节点,通过调度节点向各执行节点下发测试任务,以使各执行节点根据测试任务与目标服务器建立基于MQTT协议的连接,通过连接实现压力测试,从目标服务器获取压力测试数据。该技术方案弥补了现有技术中对MQTT协议进行测试的缺失,并且通过调度-执行的分布式模式,可以实现大量级的并发,有助于针对物联网环境下的消息传输场景进行针对性的测试。
在本发明的一个实施例中,上述方法中,测试任务包括如下的一种或多种:瞬时压力测试任务;梯度压力测试任务;长时连接测试任务。
这几种任务与实际场景密切相关。例如,在区域性停电或网络恢复时,可能有大量智能硬件设备同时连接服务器,则需要对应进行瞬时压力测试;又例如,空气净化器在空气质量较差时开启,则可能产生使用高峰,由于各用户为空气净化器设置的开启阈值可能不同,例如一些用户设置空气净化器在PM2.5达到150开启,一些用户设置空气净化器在达到180开启,等等,因此这种高峰可能是逐步产生的,需要进行梯度压力测试。再例如,智能插座需要长时间使用,则需要长期连接不掉线,则需要进行长时连接测试。这些也是与物联网场景所密切相关的,也是现有技术中的测试经常忽略的。
在本发明的一个实施例中,上述方法中,目标服务器为物联网云平台的代理服务器broker。
目前,支持MQTT协议的开源服务已有很多,从众多开源服务中选择合适的broker服务,并且能够满足业务的需求是业务亟需解决的问题,正如背景技术所指出的,测试人员需要帮助开发人员测试所选取的服务能否支持正常使用,这也是进行压力测试的一个重要目的。Broker服务可以连接智能硬件设备如无线路由器、空气净化器、智能插座等等,控制智能硬件设备在不同的场景下执行不同的操作。针对各场景的功能测试并不是本发明所要解决的重点,本发明的各实施例主要是针对连接多智能硬件设备可能带来的服务器压力进行合理的压力测试。
在本发明的一个实施例中,上述方法中,启动一个调度节点和多个执行节点包括:启动多个容器,在多个容器中的一个容器中部署调度节点,在剩余容器中部署执行节点。
例如,使用docker技术,实现多个容器container,其中一个container作为调度(master),其余container作为执行(slave),形成了master-slave模式,通过slave连接broker。
使用docker可以带来多项优势:例如如果采用实体机实现master和slave,资源开销是非常大的;在一些技术方案中,可以通过虚拟机的方式实现master和slave,但是占用的资源仍然较多。而docker由于其轻量的特点,可以有效减少资源的消耗。
在设置有容器管理服务的情况下,可以通过容器管理服务非常方便地启动调度节点和多个执行节点。
在本发明的一个实施例中,上述方法中,各执行节点根据测试任务与目标服务器建立基于MQTT协议的连接包括:各执行节点通过所在容器的一个或多个端口分别与目标服务器的指定端口建立基于MQTT协议的连接。
这样带来的一个好处在于,可以突破端口限制,也就是尽可能多地建立连接。压力测试往往需要海量如百万级别的连接数,而如果采用实体机或虚拟机实现,则难免受到端口数量的限制,要想实现更多的连接,就必须启用更多的实体机或是虚拟机。
在本发明的一个实施例中,上述方法中,压力测试数据包括如下的一项或多项指标:TCP连接数,吞吐量,资源利用率。一般而言,HTTP协议的场景下,压力测试关注于响应时间和每秒查询率QPS。而对于物联网场景,本发明的实施例选择了TCP连接数和吞吐量作为压力测试的重点,这些也是现有的测试工具不支持的统计指标。而资源利用率则是压力测试场景经常关注的一个指标。
在本发明的一个实施例中,上述方法还包括:根据压力测试数据生成相应的测试报告。
现有技术中,采用分布式压力测试,则可以将各台压力机上产生的压力测试数据汇总到调度机上,本发明的实施例中还可以直接关注被测的目标服务器的状态,可以将这两种方式进行结合,生成的测试报告所展现出的数据更直观准确。
图2示出了根据本发明一个实施例的一种压力测试装置的结构示意图。如图2所示,压力测试装置200包括:
启动单元210,适于启动一个调度节点和多个执行节点。
在本发明的实施例中,执行压力测试的压力机是由多个执行节点实现的,例如30个左右,每台压力机可以建立数万基于MQTT协议的TCP连接,这样就实现了百万量级的TCP连接数,与IoT(Internet of Things,物联网)的现实场景对应,测试目标合理。
下发单元220,适于通过调度节点向各执行节点下发测试任务,以使各执行节点根据测试任务与目标服务器建立基于MQTT协议的连接,通过连接实现压力测试。
MQTT协议需要基于TCP实现,可以认为TCP协议是MQTT协议的底层协议。如背景技术中所介绍的,MQTT在物联网中得到了广泛应用,各类智能设备与物联网云平台之间的通信过程中往往都需要依赖该协议。在这里,可以在JMeter等不支持MQTT协议的测试工具上进行改进,例如添加MQTT连接、发布、订阅取样器,构造组合的应用场景,例如背景连接、多发少收、少发多收,计算消息转发时延等,使得执行节点可以通过MQTT协议实现多样化的测试。
获取单元230,适于从目标服务器获取压力测试数据。
目前,互联网产品的测试往往是基于HTTP协议的,这就导致目前使用的测试工具、测试目标等等与物联网场景下的测试并不一致,如前面的例子中,压力测试工具JMeter能够解决HTTP协议的分布式性能压测,但是对于MQTT协议的分布式压测暂时并没有支持。
可见,图2所示的装置,通过各单元的相互配合,启动一个调度节点和多个执行节点,通过调度节点向各执行节点下发测试任务,以使各执行节点根据测试任务与目标服务器建立基于MQTT协议的连接,通过连接实现压力测试,从目标服务器获取压力测试数据。该技术方案弥补了现有技术中对MQTT协议进行测试的缺失,并且通过调度-执行的分布式模式,可以实现大量级的并发,有助于针对物联网环境下的消息传输场景进行针对性的测试。
在本发明的一个实施例中,上述装置中,测试任务包括如下的一种或多种:瞬时压力测试任务;梯度压力测试任务;长时连接测试任务。
这几种任务与实际场景密切相关。例如,在区域性停电或网络恢复时,可能有大量智能硬件设备同时连接服务器,则需要对应进行瞬时压力测试;又例如,空气净化器在空气质量较差时开启,则可能产生使用高峰,由于各用户为空气净化器设置的开启阈值可能不同,例如一些用户设置空气净化器在PM2.5达到150开启,一些用户设置空气净化器在达到180开启,等等,因此这种高峰可能是逐步产生的,需要进行梯度压力测试。再例如,智能插座需要长时间使用,则需要长期连接不掉线,则需要进行长时连接测试。这些也是与物联网场景所密切相关的,也是现有技术中的测试经常忽略的。
在本发明的一个实施例中,上述装置中,目标服务器为物联网云平台的代理服务器broker。
目前,支持MQTT协议的开源服务已有很多,从众多开源服务中选择合适的broker服务,并且能够满足业务的需求是业务亟需解决的问题,正如背景技术所指出的,测试人员需要帮助开发人员测试所选取的服务能否支持正常使用,这也是进行压力测试的一个重要目的。Broker服务可以连接智能硬件设备如无线路由器、空气净化器、智能插座等等,控制智能硬件设备在不同的场景下执行不同的操作。针对各场景的功能测试并不是本发明所要解决的重点,本发明的各实施例主要是针对连接多智能硬件设备可能带来的服务器压力进行合理的压力测试。
在本发明的一个实施例中,上述装置中,启动单元210,适于启动多个容器,在多个容器中的一个容器中部署调度节点,在剩余容器中部署执行节点。
例如,使用docker技术,实现多个容器container,其中一个container作为调度(master),其余container作为执行(slave),形成了master-slave模式,通过slave连接broker。
使用docker可以带来多项优势:例如如果采用实体机实现master和slave,资源开销是非常大的;在一些技术方案中,可以通过虚拟机的方式实现master和slave,但是占用的资源仍然较多。而docker由于其轻量的特点,可以有效减少资源的消耗。
在设置有容器管理服务的情况下,可以通过容器管理服务非常方便地启动调度节点和多个执行节点。
在本发明的一个实施例中,上述装置中,各执行节点根据测试任务与目标服务器建立基于MQTT协议的连接包括:各执行节点通过所在容器的一个或多个端口分别与目标服务器的指定端口建立基于MQTT协议的连接。
这样带来的一个好处在于,可以突破端口限制,也就是尽可能多地建立连接。压力测试往往需要海量如百万级别的连接数,而如果采用实体机或虚拟机实现,则难免受到端口数量的限制,要想实现更多的连接,就必须启用更多的实体机或是虚拟机。
在本发明的一个实施例中,上述装置中,压力测试数据包括如下的一项或多项指标:TCP连接数,吞吐量,资源利用率。一般而言,HTTP协议的场景下,压力测试关注于响应时间和每秒查询率QPS。而对于物联网场景,本发明的实施例选择了TCP连接数和吞吐量作为压力测试的重点,这些也是现有的测试工具不支持的统计指标。而资源利用率则是压力测试场景经常关注的一个指标。
在本发明的一个实施例中,上述装置还包括:生成单元,适于根据压力测试数据生成相应的测试报告。
现有技术中,采用分布式压力测试,则可以将各台压力机上产生的压力测试数据汇总到调度机上,本发明的实施例中还可以直接关注被测的目标服务器的状态,将这两种方式可以进行结合,生成的测试报告所展现出的数据更直观准确。
图3示出了根据本发明一个实施例的一种压力测试系统的结构示意图。如图3所示,压力测试系统300包括:
如上述任一实施例中的压力测试装置200,调度节点310,多个执行节点320,目标服务器330。
整个系统可以以Springboot框架为基础搭建,参考JMeter进行分布式压力测试,但是由于JMeter原生并不支持MQTT协议,需要对其进行改进,添加MQTT连接、发布、订阅取样器,构造组合的应用场景,例如背景连接、多发少收、少发多收,计算消息转发时延等。
综上所述,本发明的技术方案,启动一个调度节点和多个执行节点,通过调度节点向各执行节点下发测试任务,以使各执行节点根据测试任务与目标服务器建立基于MQTT协议的连接,通过连接实现压力测试,从目标服务器获取压力测试数据。该技术方案弥补了现有技术中对MQTT协议进行测试的缺失,并且通过调度-执行的分布式模式,可以实现大量级的并发,有助于针对物联网环境下的消息传输场景进行针对性的测试。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的压力测试装置和系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图4示出了根据本发明一个实施例的电子设备的结构示意图。该电子设备包括处理器410和被安排成存储计算机可执行指令(计算机可读程序代码)的存储器420。存储器420可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器420具有存储用于执行上述方法中的任何方法步骤的计算机可读程序代码431的存储空间430。例如,用于存储计算机可读程序代码的存储空间430可以包括分别用于实现上面的方法中的各种步骤的各个计算机可读程序代码431。计算机可读程序代码431可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为例如图5所述的计算机可读存储介质。图5示出了根据本发明一个实施例的一种计算机可读存储介质的结构示意图。该计算机可读存储介质700存储有用于执行根据本发明的方法步骤的计算机可读程序代码431,可以被电子设备400的处理器410读取,当计算机可读程序代码431由电子设备400运行时,导致该电子设备400执行上面所描述的方法中的各个步骤,具体来说,该计算机可读存储介质存储的计算机可读程序代码431可以执行上述任一实施例中示出的方法。计算机可读程序代码431可以以适当形式进行压缩。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明的实施例公开了A1、一种压力测试方法,包括:
启动一个调度节点和多个执行节点;
通过所述调度节点向各执行节点下发测试任务,以使各执行节点根据所述测试任务与目标服务器建立基于MQTT协议的连接,通过所述连接实现压力测试;
从所述目标服务器获取压力测试数据。
A2、如A1所述的方法,其中,所述测试任务包括如下的一种或多种:
瞬时压力测试任务;
梯度压力测试任务;
长时连接测试任务。
A3、如A1所述的方法,其中,所述目标服务器为物联网云平台的代理服务器broker。
A4、如A1所述的方法,其中,所述启动一个调度节点和多个执行节点包括:
启动多个容器,在所述多个容器中的一个容器中部署所述调度节点,在剩余容器中部署执行节点。
A5、如A4所述的方法,其中,所述各执行节点根据所述测试任务与目标服务器建立基于MQTT协议的连接包括:
各执行节点通过所在容器的一个或多个端口分别与目标服务器的指定端口建立基于MQTT协议的连接。
A6、如A1所述的方法,其中,所述压力测试数据包括如下的一项或多项指标:
TCP连接数,吞吐量,资源利用率。
A7、如A1所述的方法,其中,所述方法还包括:
根据所述压力测试数据生成相应的测试报告。
本发明的实施例还公开了B8、一种压力测试装置,包括:
启动单元,适于启动一个调度节点和多个执行节点;
下发单元,适于通过所述调度节点向各执行节点下发测试任务,以使各执行节点根据所述测试任务与目标服务器建立基于MQTT协议的连接,通过所述连接实现压力测试;
获取单元,适于从所述目标服务器获取压力测试数据。
B9、如B8所述的装置,其中,所述测试任务包括如下的一种或多种:
瞬时压力测试任务;
梯度压力测试任务;
长时连接测试任务。
B10、如B8所述的装置,其中,所述目标服务器为物联网云平台的代理服务器broker。
B11、如B8所述的装置,其中,
所述启动单元,适于启动多个容器,在所述多个容器中的一个容器中部署所述调度节点,在剩余容器中部署执行节点。
B12、如B11所述的装置,其中,所述各执行节点根据所述测试任务与目标服务器建立基于MQTT协议的连接包括:
各执行节点通过所在容器的一个或多个端口分别与目标服务器的指定端口建立基于MQTT协议的连接。
B13、如B8所述的装置,其中,所述压力测试数据包括如下的一项或多项指标:
TCP连接数,吞吐量,资源利用率。
B14、如B8所述的装置,其中,所述装置还包括:
生成单元,适于根据所述压力测试数据生成相应的测试报告。
本发明的实施例还公开了C15、一种压力测试系统,包括:
如B8-B14中任一项所述的压力测试装置,调度节点,多个执行节点,目标服务器。
本发明的实施例还公开了D16、一种电子设备,其中,该电子设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如A1-A7中任一项所述的方法。
本发明的实施例还公开了E17、一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现如A1-A7中任一项所述的方法。

Claims (10)

1.一种压力测试方法,包括:
启动一个调度节点和多个执行节点;
通过所述调度节点向各执行节点下发测试任务,以使各执行节点根据所述测试任务与目标服务器建立基于MQTT协议的连接,通过所述连接实现压力测试;
从所述目标服务器获取压力测试数据。
2.如权利要求1所述的方法,其中,所述测试任务包括如下的一种或多种:
瞬时压力测试任务;
梯度压力测试任务;
长时连接测试任务。
3.如权利要求1所述的方法,其中,所述目标服务器为物联网云平台的代理服务器broker。
4.如权利要求1所述的方法,其中,所述启动一个调度节点和多个执行节点包括:
启动多个容器,在所述多个容器中的一个容器中部署所述调度节点,在剩余容器中部署执行节点。
5.一种压力测试装置,包括:
启动单元,适于启动一个调度节点和多个执行节点;
下发单元,适于通过所述调度节点向各执行节点下发测试任务,以使各执行节点根据所述测试任务与目标服务器建立基于MQTT协议的连接,通过所述连接实现压力测试;
获取单元,适于从所述目标服务器获取压力测试数据。
6.如权利要求5所述的装置,其中,所述测试任务包括如下的一种或多种:
瞬时压力测试任务;
梯度压力测试任务;
长时连接测试任务。
7.如权利要求5所述的装置,其中,所述目标服务器为物联网云平台的代理服务器broker。
8.一种压力测试系统,包括:
如权利要求5-7中任一项所述的压力测试装置,调度节点,多个执行节点,目标服务器。
9.一种电子设备,其中,该电子设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如权利要求1-4中任一项所述的方法。
10.一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现如权利要求1-4中任一项所述的方法。
CN201811496629.4A 2018-12-07 2018-12-07 压力测试方法、装置和系统 Active CN111294250B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811496629.4A CN111294250B (zh) 2018-12-07 2018-12-07 压力测试方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811496629.4A CN111294250B (zh) 2018-12-07 2018-12-07 压力测试方法、装置和系统

Publications (2)

Publication Number Publication Date
CN111294250A true CN111294250A (zh) 2020-06-16
CN111294250B CN111294250B (zh) 2023-05-26

Family

ID=71030554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811496629.4A Active CN111294250B (zh) 2018-12-07 2018-12-07 压力测试方法、装置和系统

Country Status (1)

Country Link
CN (1) CN111294250B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112615759A (zh) * 2020-12-17 2021-04-06 上海哔哩哔哩科技有限公司 全链路压测组件、全链路压测方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107688538A (zh) * 2017-08-31 2018-02-13 北京蓝海讯通科技股份有限公司 一种脚本执行方法、装置及计算设备
KR101834837B1 (ko) * 2016-11-14 2018-03-06 충북대학교 산학협력단 MQTT와 KAFKA를 이용한 IoT 센서 시뮬레이터 시스템
CN108038013A (zh) * 2017-11-30 2018-05-15 海尔优家智能科技(北京)有限公司 分布式性能测试方法及装置与计算机可读存储介质
CN108322356A (zh) * 2017-01-18 2018-07-24 重庆邮电大学 一种基于mqtt的工业网络网关兼容测试方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101834837B1 (ko) * 2016-11-14 2018-03-06 충북대학교 산학협력단 MQTT와 KAFKA를 이용한 IoT 센서 시뮬레이터 시스템
CN108322356A (zh) * 2017-01-18 2018-07-24 重庆邮电大学 一种基于mqtt的工业网络网关兼容测试方法
CN107688538A (zh) * 2017-08-31 2018-02-13 北京蓝海讯通科技股份有限公司 一种脚本执行方法、装置及计算设备
CN108038013A (zh) * 2017-11-30 2018-05-15 海尔优家智能科技(北京)有限公司 分布式性能测试方法及装置与计算机可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112615759A (zh) * 2020-12-17 2021-04-06 上海哔哩哔哩科技有限公司 全链路压测组件、全链路压测方法及装置
CN112615759B (zh) * 2020-12-17 2023-03-31 上海哔哩哔哩科技有限公司 全链路压测组件、全链路压测方法及装置

Also Published As

Publication number Publication date
CN111294250B (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
CN104461856A (zh) 基于云计算平台的性能测试方法、装置及系统
CN109451088A (zh) 一种数据访问方法及装置
CN108228444B (zh) 一种测试方法和装置
CN105450476A (zh) 一种回归测试系统及测试方法
US10091278B1 (en) Data exchange services
CN110753091A (zh) 一种云平台管理方法和装置
US11463327B2 (en) Commerce characteristic data reporting method and device, network slice arrangement method and device
CN106339273A (zh) 一种应用程序修复方法、终端及服务器
CN109104368B (zh) 一种请求连接方法、装置、服务器及计算机可读存储介质
CN115114044A (zh) 消息推送方法、装置、设备和介质
CN106294345A (zh) 应用程序的日志内容的处理方法和装置
CN106685708B (zh) 一种服务关系的确定方法、装置及系统
CN111294250B (zh) 压力测试方法、装置和系统
CN109218371B (zh) 一种调用数据的方法和设备
CN111199079A (zh) 仿真任务调度方法和装置
CN112527453B (zh) 虚拟化信息仿真系统、方法及计算机可读存储介质
CN105530140A (zh) 一种解除用例和环境紧耦合的方法、装置和云调度系统
CN112804313B (zh) 基于跨域边缘节点的数据同步方法、装置、设备及介质
CN112910572B (zh) 基站测试方法、装置及可读存储介质
CN108811180B (zh) 一种智能设备绑定方法、装置及系统
CN105335470B (zh) 用户登录信息展现方法和装置
CN110719303B (zh) 一种容器化nrf的方法及系统
CN112217852A (zh) 一种基于工作流引擎的平台即服务系统及方法
CN112559001A (zh) 更新应用的方法和装置
JP5804997B2 (ja) プログラム配信管理システム

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
TA01 Transfer of patent application right

Effective date of registration: 20230512

Address after: Room 03, 2nd Floor, Building A, No. 20 Haitai Avenue, Huayuan Industrial Zone (Huanwai), Binhai New Area, Tianjin, 300450

Applicant after: 3600 Technology Group Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Applicant before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right