CN109245964B - 一种用于公网压力测试的通信方法、***、设备和介质 - Google Patents

一种用于公网压力测试的通信方法、***、设备和介质 Download PDF

Info

Publication number
CN109245964B
CN109245964B CN201811238273.4A CN201811238273A CN109245964B CN 109245964 B CN109245964 B CN 109245964B CN 201811238273 A CN201811238273 A CN 201811238273A CN 109245964 B CN109245964 B CN 109245964B
Authority
CN
China
Prior art keywords
pressure
control node
port number
server
communication
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
Application number
CN201811238273.4A
Other languages
English (en)
Other versions
CN109245964A (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.)
Guangzhou Zhongtian Technology Consulting Co ltd
Shaanxi Xin'an Digital Technology Co.,Ltd.
Original Assignee
Wuhan Douyu Network 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201811238273.4A priority Critical patent/CN109245964B/zh
Publication of CN109245964A publication Critical patent/CN109245964A/zh
Application granted granted Critical
Publication of CN109245964B publication Critical patent/CN109245964B/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/50Testing arrangements
    • 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
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开提供了一种用于公网压力测试的通信方法、***、设备和介质。所述方法包括:在施压机服务端上绑定第一端口号,施压机守护进程通过HTTP协议将第一端口号发送至控制节点,控制节点与施压机守护进程建立通信;控制节点发出开启压测进程指令至施压机,以使施压机开启压测进程;在施压机服务端上绑定第二端口号,施压机压测进程将第二端口号发送至施压机守护进程,施压机守护进程通过HTTP协议将第二端口号发送至控制节点,控制节点根据接收到的第二端口号与压测进程建立连接进行通信,传递压测任务信息和压测结果信息。本公开通过将施压机服务端作为通信机制中的服务器,将控制节点作为客户端,可以实现公网压测而不受防火墙的限制。

Description

一种用于公网压力测试的通信方法、***、设备和介质
技术领域
本公开涉及一种用于公网压力测试的通信方法、***、设备和介质。
背景技术
压力测试是对***不断施加压力的测试,是通过确定一个***的瓶颈或者不能接收的性能点,来获得***能提供的最大服务级别的测试。例如测试一个Web站点在大量的负荷下,何时***的响应会退化或失败。nGrinder是一个开放源代码的性能测试平台,其包含压力测试功能,其由一个控制端(controller)和多个代理端(agent)组成。通过控制端发出压测指令,代理端接收该压测指令后执行压力测试,该代理端通常为施压机。
目前基于nGrinder进行压力测试时的通信方法如附图1所示,当nGrinder进行任务调度需要执行压测时,控制端(controller)将一个压测任务分配给一个控制节点(singleconsole),与该控制节点连接的施压机服务器(agentcontrollerserver)提供所需数量的施压机(agent),并且该施压机服务器向控制节点发送固定IP地址和固定端口号(通常默认配置为16001),使施压机服务器和控制节点之间建立TCP长连接;然后控制节点(singleconsole)临时绑定一个端口号,通过所述TCP长连接将该端口号以及施压指令下发给施压机守护进程,施压机根据施压指令开启施压机压测进程,施压机压测进程内部根据控制节点绑定的端口与控制节点进行直联建立临时连接,即为临时通信通道。
但是现有技术中基于nGrinder进行压力测试时的通信方法对于私有网络进行压力测试时可以正常进行,对于共有网络而言由于防火墙的存在,可能会对控制节点上绑定的端口进行限制,当控制节点上绑定的端口是防火墙中设置为不开放的,就会对公网压力测试造成阻拦,从而无法实现对公网进行压力测试。
发明内容
本公开提供了一种用于公网压力测试的通信方法,压力测试包括至少一个控制节点和与该控制节点连接的至少一个施压机服务端,一个施压机服务端提供预设数量的施压机,方法包括:在施压机服务端上绑定第一端口号,施压机守护进程通过HTTP协议将所述第一端口号发送至与施压机对应的控制节点,控制节点根据接收到的第一端口号与施压机守护进程建立通信,传递开启压测进程指令;控制节点发出开启进程指令至施压机,以使施压机开启压测进程;在施压机服务端上绑定第二端口号,施压机压测进程通过进程间通信将第二端口号发送至施压机守护进程,施压机守护进程通过HTTP协议将第二端口号发送至与施压机对应的控制节点,控制节点根据接收到的第二端口号与压测进程建立连接进行通信,传递压测任务信息和压测结果信息。
可选地,压力测试还包括与控制节点连接的施压机文件服务端,施压机文件服务端用于与控制节点之间进行通信,传递文件信息;其中,施压机文件服务端与施压机服务端提供的施压机连接,并且施压机服务端与施压机文件服务端的数量相等。
可选地,方法还包括:在施压机文件服务端上绑定第三端口号,通过HTTP协议将第三端口号发送至与施压机对应的控制节点,控制节点通过第三端口号与施压机文件服务端连接进行通信,传递文件信息。
可选地,文件信息包括:用于执行施压的压测的脚本文件信息和压测参数化文件信息,以及用于记录施压过程的压测日志文件信息。
可选地,压力测试还包括施压机监控服务端,施压机监控服务端用于与控制节点通信,传递施压机监控数据;其中,施压机监控服务端与施压机服务端提供的施压机连接,并且施压机监控服务端与施压机服务端的数量相等。
可选地,方法还包括:创建监控通道,在施压机监控服务端上绑定第四端口号,通过HTTP协议将第四端口号发送至预设控制节点;预设控制节点通过第四端口号与施压机监控服务端建立TCP长连接;施压机监控服务端监听施压机是否掉线,发送施压机监控数据至预设控制节点。
可选地,预设控制节点为满足负载均衡的控制节点。
本公开还提供了一种用于公网压力测试的通信***,压力测试包括至少一个控制节点和与该控制节点连接的至少一个施压机服务端,一个施压机服务端提供预设数量的施压机,所述***包括:守护进程通信模块,用于在所述施压机服务端上绑定第一端口号,施压机守护进程通过HTTP协议将所述第一端口号发送至与所述施压机对应的控制节点,所述控制节点根据接收到的所述第一端口号与施压机守护进程建立通信,传递开启压测进程指令;压测进程创建模块,用于所述控制节点发出开启压测进程指令至施压机,以使所述施压机开启压测进程;压测进程通信模块,用于在所述施压机服务端上绑定第二端口号,施压机压测进程通过进程间通信将所述第二端口号发送至所述施压机守护进程,所述施压机守护进程通过HTTP协议将所述第二端口号发送至与所述施压机对应的控制节点,所述控制节点根据接收到的所述第二端口号与所述压测进程建立连接进行通信,传递压测任务信息和压测结果信息。
本公开还提供了一种电子设备,所述设备包括:通信器,用于与服务器通信;处理器;存储器,其存储有计算机可执行程序,该程序在被所述处理器执行时,使得所述处理器执行上文中用于公网压力测试的通信方法。
本公开还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上文中用于公网压力测试的通信方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了现有技术提供的压力测试框图;
图2示意性示出了本公开一个实施例提供的用于公网压力测试的通信方法流程图;
图3示意性示出了本公开另一个实施例提供的用于公网压力测试的通信方法流程图;
图4示意性示出了本公开提供的压力测试框图;
图5示意性示出了本公开实施例提供的用于公网压力测试的通信***框图;
图6示意性示出了根据本公开实施例提供的电子设备框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
本公开一个实施例提供了一种用于公网压力测试的通信方法,如附图2所示,所述方法包括下列步骤S101-步骤S103的内容:
其中,压力测试包括至少一个控制节点和与该控制节点连接的至少一个施压机服务端,一个施压机服务端提供预设数量的施压机。例如,在开放源代码的性能测试平台nGrinder中,控制节点可为该平台中的console,施压机服务端可为agentcontrollerserver,施压机可为agent。压力测试可为由至少一个控制节点console和与该控制节点连接的至少一个施压机服务端agentcontrollerserver,以及N个施压机agent组成的施压集群,N为大于0的正整数。
步骤S101:在所述施压机服务端上绑定第一端口号,施压机守护进程通过HTTP协议将所述第一端口号发送至与所述施压机对应的控制节点,所述控制节点根据接收到的所述第一端口号与施压机守护进程建立通信,传递开启压测进程指令。
本实施例提供的用于公网压力测试的通信方法包括控制节点与施压机守护进程之间的通信,以及控制节点与施压机压测进程之间的通信。控制节点与施压机守护进程之间的通信用于传递施压机服务端上绑定的端口号和开启压测进程指令,控制节点与施压机压测进程之间的通信用于传递压测任务信息和压测结果信息。
进程是***进行资源分配和调度的一个独立单位,一个进程至少有一个线程。压测进程用于执行压测任务,压测任务是性能测试平台模拟巨大的工作负荷以查看应用程序在峰值使用情况下的操作测试数据,例如,压测任务中可以包括压测任务的信息、测试脚本、需要模拟的虚拟用户数等。
守护进程是一类在后台运行的进程,用于执行特定的***任务。本实施例中控制节点与施压机守护进程之间的通信用于传递施压机服务端上绑定的端口号和开启压测进程指令。
施压机服务端绑定第一端口号以及IP地址,即将施压机服务端作为本实施例通信机制中的服务器(server端),而将控制节点作为该通信机制中的客户端(client端),当服务器绑定了第一端口号以及IP地址后,将该第一端口号以及IP地址通过HTTP协议发送给客户端,客户端(即控制节点)在接收到第一端口号和服务器的IP地址后,可向该服务器(即施压机服务端)的IP地址和第一端口号发出通信请求,此时***就给客户端分配一个随机端口号,这个端口号和客户端的IP地址会随着通信请求一起发给服务器,服务器收到通信请求后就可以从中获取客户端的IP地址和端口号,接下来服务器就可以利用获取的IP地址和端口号给客户端回应消息。实现控制节点与施压机守护进程之间的通信。
步骤S102:所述控制节点发出开启压测进程指令至施压机,以使所述施压机开启压测进程。
开启压测进程指令以控制信号的形式发送至施压机,例如控制节点发送用于开启压测进程的信息createAgentProcessMessage至施压机,若施压机正确接收该指令,施压机收发送确认接收信息createAgentProcessAckMessage至控制节点,调用CreatAgentProcessMessageHandle对createAgentProcess Message消息进行处理,使所述施压机开启压测进程。
步骤S103:在所述施压机服务端上绑定第二端口号,施压机压测进程通过进程间通信将所述第二端口号发送至所述施压机守护进程,所述施压机守护进程通过HTTP协议将所述第二端口号发送至与所述施压机对应的控制节点,所述控制节点根据接收到的所述第二端口号与所述压测进程建立连接进行通信,传递压测任务信息和压测结果信息。
在本实施例的通信方法中,施压机服务端绑定第二端口号以及IP地址,该IP地址可以与步骤S101中绑定的相同,也可不相同,即将施压机服务端作为本实施例通信机制中的服务器(server端),而将控制节点作为该通信机制中的客户端(client端),当服务器绑定了第二端口号以及IP地址后,施压机压测进程通过进程间通信将所述第二端口号发送至施压机守护进程,施压机守护进程将该第二端口号以及IP地址通过HTTP协议发送给客户端,客户端(即控制节点)在接收到第二端口号和服务器的IP地址后,可向该服务器(即施压机服务端)的IP地址和第二端口号发出通信请求,此时***就给客户端分配一个随机端口号,这个端口号和客户端的IP地址会随着通信请求一起发给服务器,服务器收到通信请求后就可以从中获取客户端的IP地址和端口号,接下来服务器就可以利用获取的IP地址和端口号给客户端回应消息。实现控制节点与施压机压测进程之间的通信,从而实现传递压测任务信息和压测结果信息。
需要说明的是,在本公开实施例中,将施压机服务端作为通信机制中的服务器(server端),并且将控制节点作为该通信机制中的客户端(client端),可以实现公网压测而不受防火墙的限制。原因在于防火墙通常会对控制节点上绑定的端口号进行限制,如果控制节点上绑定的端口号是防火墙中设置为不开放的,就会对公网压测造成阻拦,但是防火墙不对施压机端(即施压机服务端)做限制,所以现在在施压机服务端上绑定端口号,而不是现有技术中在控制节点上绑定端口号,就可以实现即使有防火墙也能进行公网压测的目的。换言之,本公开实施例通过将现有技术中的通信机制中服务器与客户端进行反转,即将原本作为server端的控制节点换成施压机服务端,并将原本作为client端的施压机服务端换成控制节点,以实现即使有防火墙也能进行公网压测的目的。
本公开实施例通过将施压机服务端作为通信机制中的服务器(server端),在该施压机服务端上绑定第一端口号、第二端口号和IP地址,并且将控制节点作为该通信机制中的客户端(client端),通过HTTP协议传输第一端口号、第二端口号和IP地址,进而实现制节点与压测进程之间的通信。即将现有技术中的通信机制中服务器与客户端进行反转,以实现即使有防火墙也能进行公网压测的目的,解决了由于防火墙对端口号进行限制,进而无法实现控制节点与压测进程之间的通信而无法实现公网压测的问题。
本公开一个实施例提供了一种用于公网压力测试的通信方法,如附图3所示,所述方法包括下列步骤S201-步骤S208的内容:
如附图4所示,本实施例中的压力测试包括至少一个控制节点和与该控制节点连接的至少一个施压机服务端,一个施压机服务端提供预设数量的施压机。压力测试还包括与控制节点连接的施压机文件服务端,施压机文件服务端用于与控制节点之间进行通信,传递文件信息;其中,施压机文件服务端与施压机服务端提供的施压机连接,并且施压机服务端与施压机文件服务端的数量相等。
另外,压力测试还包括施压机监控服务端,施压机监控服务端用于与控制节点通信,用于传递施压机监控数据;其中,施压机监控服务端与施压机服务端提供的施压机连接,并且施压机监控服务端与施压机服务端的数量相等。
由此,本实施例提供的用于公网压力测试的通信方法包括控制节点与施压机守护进程之间的通信,控制节点与施压机压测进程之间的通信,控制节点与施压机文件服务端之间的通信,以及控制节点与施压机监控服务端之间的通信。控制节点与施压机守护进程之间的通信用于传递施压机服务端上绑定的端口号,控制节点与施压机压测进程之间的通信用于传递压测任务信息和压测结果信息,控制节点与施压机文件服务端之间的通信,用于传递文件信息,控制节点与施压机监控服务端之间的通信,用于传递施压机监控数据。
步骤S201:在所述施压机服务端上绑定第一端口号,施压机守护进程通过HTTP协议将所述第一端口号发送至与所述施压机对应的控制节点,所述控制节点根据接收到的所述第一端口号与施压机守护进程建立通信,传递开启压测进程指令。
施压机服务端绑定第一端口号以及IP地址,即将施压机服务端作为本实施例通信机制中的服务器(server端),而将控制节点作为该通信机制中的客户端(client端),当服务器绑定了第一端口号以及IP地址后,将该第一端口号以及IP地址通过HTTP协议发送给客户端,客户端(即控制节点)在接收到第一端口号和服务器的IP地址后,可向该服务器(即施压机服务端)的IP地址和第一端口号发出通信请求,此时***就给客户端分配一个随机端口号,这个端口号和客户端的IP地址会随着通信请求一起发给服务器,服务器收到通信请求后就可以从中获取客户端的IP地址和端口号,接下来服务器就可以利用获取的IP地址和端口号给客户端回应消息。实现控制节点与施压机守护进程之间的通信。
示例性地,在施压机服务端绑定第一端口号为63000以及IP地址为58.19.22.239,将该第一端口号63000以及IP地址12.12.34.1234发送至控制节点,该控制节点发出通信请求,此时***随机给该控制节点分配随机端口号12345和IP地址10.11.12.0123,由于控制节点在已知施压机服务端的端口号以及IP地址的情况下才能向其发送通信请求,即知道发送通信请求的目的地址,所以控制节点将自身的随机端口号12345和IP地址10.11.12.0123发送至第一端口号63000以及IP地址12.12.34.1234,施压机服务端接收到该随机端口号以及IP地址后,将该随机端口号12345和IP地址10.11.12.0123作为回复响应的目的地址,即可发送响应至该控制节点。
其中,该第一端口号的绑定具体可以从65001向下开始寻找,直到找到可用的端口号,将该端口号作为第一端口号。
步骤S202:所述控制节点发出开启压测进程指令至施压机,以使所述施压机开启压测进程。
开启压测进程指令以控制信号的形式发送至施压机,例如控制节点发送用于开启压测进程的信息createAgentProcessMessage至施压机,若施压机正确接收该指令,施压机收发送确认接收信息createAgentProcessAckMessage至控制节点,调用CreatAgentProcessMessageHandle对createAgentProcess Message消息进行处理,使所述施压机开启压测进程。
步骤S203:在所述施压机服务端上绑定第二端口号,施压机压测进程通过进程间通信将所述第二端口号发送至所述施压机守护进程,所述施压机守护进程通过HTTP协议将所述第二端口号发送至与所述施压机对应的控制节点,所述控制节点根据接收到的所述第二端口号与所述压测进程建立连接进行通信,传递压测任务信息和压测结果信息。
在本实施例的通信方法中,施压机服务端绑定第二端口号以及IP地址,该IP地址可以与步骤S201中绑定的相同,也可不相同,即将施压机服务端作为本实施例通信机制中的服务器(server端),而将控制节点作为该通信机制中的客户端(client端),当服务器绑定了第二端口号以及IP地址后,施压机压测进程通过进程间通信将所述第二端口号发送至施压机守护进程,施压机守护进程将该第二端口号以及IP地址通过HTTP协议发送给客户端,客户端(即控制节点)在接收到第二端口号和服务器的IP地址后,可向该服务器(即施压机服务端)的IP地址和第二端口号发出通信请求,此时***就给客户端分配一个随机端口号,这个端口号和客户端的IP地址会随着通信请求一起发给服务器,服务器收到通信请求后就可以从中获取客户端的IP地址和端口号,接下来服务器就可以利用获取的IP地址和端口号给客户端回应消息。实现控制节点与施压机压测进程之间的通信,从而实现传递压测任务信息和压测结果信息。
步骤S204:在施压机文件服务端上绑定第三端口号,通过HTTP协议将所述第三端口号发送至与所述施压机对应的控制节点。
通过与步骤S202同样的方式将施压机文件服务端上的绑定的第三端口号以及IP地址发送至控制节点1,该绑定的IP地址可以是与施压机服务端上绑定的IP地址为同一个,也可以不同,本实施例对此不进行具体限制。
步骤S205:所述控制节点通过所述第三端口号与施压机文件服务端连接进行通信,传递文件信息。
通过与S203同样的方式使控制节点1与施压机文件服务端进行通信后,传递文件信息。文件信息包括:用于执行施压的压测的脚本文件信息和压测参数化文件信息,以及用于记录施压过程的压测日志文件信息。
由于执行施压的压测任务时需使用到压测的脚本文件信息和压测参数化文件信息,因此,在控制节点1向压测进程传递压测任务信息后,控制节点1还需向施压机文件服务端传递压测的脚本文件信息和压测参数化文件信息,以使施压机根据压测任务信息,利用压测的脚本文件信息和压测参数化文件信息来实现压测任务。在施压机完成压测任务之后,压测进程向控制节点1传递压测结果信息,并且施压机文件服务端向控制节点1传递压测日志文件信息。
本实施例将压测任务和压测结果信息的传递通过控制节点1与压测进程之间的通信通道进行传递,避免了信息在控制节点1与守护进程之间的通信通道内累积。
另外,本实施例将文件信息的传递通道通过控制节点1与施压机文件服务端之间的通信通道进行传递,将其与控制节点1与压测进程之间的通信通道进行隔离,避免了当文件信息过大时,占用通信通道,信息的传递速度慢,压测任务无法及时到达压测进程等问题。
步骤S206:创建监控通道,在施压机监控服务端上绑定第四端口号,通过HTTP协议将所述第四端口号发送至预设控制节点。
其中,预设控制节点为满足负载均衡的控制节点。当控制节点只有一个时,预设控制节点即为该控制节点,当控制节点为如图4中所示的2个时,若控制节点1已与其余施压机监控服务端建立了连接,而控制节点2还未与其余施压机监控服务端建立连接,则通过负载均衡,应将控制节点2作为预设控制节点。若控制节点1和2均还未与其余施压机监控服务端建立连接,则可随机选择一个控制节点作为预设控制节点。本实施例以控制节点1作为预设控制节点进行举例说明。
步骤S207:所述预设控制节点通过所述第四端口号与所述施压机监控服务端建立TCP长连接。
上文步骤S201至步骤S205之间的通信连接,即控制节点1与施压机守护进程之间的通信连接,控制节点1与施压机压测进程之间的通信连接,控制节点1与施压机文件服务端之间的通信连接均为TCP短连接,短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接。而此处预设控制节点(此时指控制节点1与施压机监控服务端建立TCP长连接,长连接是指维持连接状态,不断开。
步骤S208:所述施压机监控服务端监听施压机是否掉线,发送施压机监控数据至所述预设控制节点。
通过TCP长连接可以监听施压机是否掉线,施压机掉线是指施压机的网络断开,不再与外界进行通信。控制节点1和控制节点2之间的数据可以通过Redis进行数据共享,若以控制节点1作为预设控制节点时,当施压机监控服务端监听施压机掉线时,将施压机监控数据发送至控制节点1,控制节点1可直接进行处理。若以控制节点2作为预设控制节点时,控制节点2与施压机监控服务端(该施压机监控服务端与控制节点1连接的施压机连接)建立TCP长连接,将施压机监控数据发送至控制节点2,控制节点2通过Redis进行数据共享,将该数据共享至控制节点1,控制节点1才可进行处理。
综上所述,本实施例提供的用于公网压力测试的通信方法包括控制节点与施压机守护进程之间的通信,控制节点与施压机压测进程之间的通信,控制节点与施压机文件服务端之间的通信,以及控制节点与施压机监控服务端之间的通信。通过将施压机服务端作为通信机制中的服务器(server端),在该施压机服务端上绑定第一端口号、第二端口号和IP地址,并且将控制节点作为该通信机制中的客户端(client端),通过HTTP协议传输第一端口号、第二端口号和IP地址,进而实现制节点与压测进程之间的通信。即将现有技术中的通信机制中服务器与客户端进行反转,以实现即使有防火墙也能进行公网压测的目的,解决了由于防火墙对端口号进行限制,进而无法实现控制节点与压测进程之间的通信而无法实现公网压测的问题。同时避免了当文件信息过大时,占用通信通道,信息的传递速度慢,压测任务无法及时到达压测进程等问题。还可以实现监听施压机是否掉线。
参见图5,图5示例性示出了本公开实施例提供的用于公网压力测试的通信***,压力测试包括至少一个控制节点和与该控制节点连接的至少一个施压机服务端,一个施压机服务端提供预设数量的施压机,***500包括:守护进程通信模块501,用于在所述施压机服务端上绑定第一端口号,施压机守护进程通过HTTP协议将所述第一端口号发送至与所述施压机对应的控制节点,所述控制节点根据接收到的所述第一端口号与施压机守护进程建立通信,传递开启压测进程指令;压测进程创建模块502,用于所述控制节点发出开启压测进程指令至施压机,以使所述施压机开启压测进程;压测进程通信模块503,用于在所述施压机服务端上绑定第二端口号,施压机压测进程通过进程间通信将所述第二端口号发送至所述施压机守护进程,所述施压机守护进程通过HTTP协议将所述第二端口号发送至与所述施压机对应的控制节点,所述控制节点根据接收到的所述第二端口号与所述压测进程建立连接进行通信,传递压测任务信息和压测结果信息。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。
图6示意性示出了根据本公开实施例的电子设备的框图。
如图6所示,电子设备600包括通信器601,处理器602和存储器603。该电子设备600可以执行根据本公开实施例的方法。
具体地,通信器601用于与服务器通信;处理器602例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC),等等。处理器602还可以包括用于缓存用途的板载存储器。处理器602可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
存储器603,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体***、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。其存储有计算机可执行程序,该程序在被所述处理器执行时,使得所述处理器执行如上文所述的直播间标签的添加方法。
本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、射频信号等等,或者上述的任意合适的组合。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

Claims (10)

1.一种用于公网压力测试的通信方法,压力测试包括至少一个控制节点和与该控制节点连接的至少一个施压机服务端,一个施压机服务端提供预设数量的施压机,其特征在于,所述方法包括:
在所述施压机服务端上绑定第一端口号,施压机守护进程通过HTTP协议穿过防火墙将所述第一端口号发送至与所述施压机对应的控制节点,所述控制节点根据接收到的第一端口号穿过防火墙向所述施压机服务端发送通信请求,其中,通信请求中包括***分配给所述控制节点的随机端口号和所述控制节点的IP地址,所述施压机服务端收到通信请求后就可以从中获取所述控制节点的IP地址和所述随机端口号,所述施压机守护进程与所述控制节点建立通信,传递开启压测进程指令;
所述控制节点发出开启压测进程指令至施压机,以使所述施压机开启压测进程;
在所述施压机服务端上绑定第二端口号,施压机压测进程通过进程间通信将所述第二端口号发送至所述施压机守护进程,所述施压机守护进程通过HTTP协议穿过防火墙将所述第二端口号发送至与所述施压机对应的控制节点,所述控制节点根据接收到的第二端口号穿过防火墙向所述施压机服务端发送通信请求,其中,通信请求中包括***分配给所述控制节点的随机端口号和所述控制节点的IP地址,所述施压机服务端收到通信请求后就可以从中获取所述控制节点的IP地址和所述随机端口号,所述压测进程与所述控制节点建立通信,传递压测任务信息和压测结果信息。
2.根据权利要求1所述的方法,其特征在于,所述压力测试还包括与所述控制节点连接的施压机文件服务端,所述施压机文件服务端用于与所述控制节点之间进行通信,传递文件信息;其中,所述施压机文件服务端与所述施压机服务端提供的施压机连接,并且所述施压机服务端与所述施压机文件服务端的数量相等。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在施压机文件服务端上绑定第三端口号,通过HTTP协议将所述第三端口号发送至与所述施压机对应的控制节点,
所述控制节点通过所述第三端口号与施压机文件服务端连接进行通信,传递文件信息。
4.根据权利要求3所述的方法,其特征在于,所述文件信息包括:用于执行施压的压测的脚本文件信息和压测参数化文件信息,以及用于记录施压过程的压测日志文件信息。
5.根据权利要求1所述的方法,其特征在于,所述压力测试还包括施压机监控服务端,所述施压机监控服务端用于与所述控制节点通信,传递施压机监控数据;其中,所述施压机监控服务端与所述施压机服务端提供的施压机连接,并且所述施压机监控服务端与所述施压机服务端的数量相等。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
创建监控通道,在施压机监控服务端上绑定第四端口号,通过HTTP协议将所述第四端口号发送至预设控制节点;
所述预设控制节点通过所述第四端口号与所述施压机监控服务端建立TCP长连接;
所述施压机监控服务端监听施压机是否掉线,发送施压机监控数据至所述预设控制节点。
7.根据权利要求6所述的方法,其特征在于,所述预设控制节点为满足负载均衡的控制节点。
8.一种用于公网压力测试的通信***,压力测试包括至少一个控制节点和与该控制节点连接的至少一个施压机服务端,一个施压机服务端提供预设数量的施压机,其特征在于,所述***包括:
守护进程通信模块,用于在所述施压机服务端上绑定第一端口号,施压机守护进程通过HTTP协议穿过防火墙将所述第一端口号发送至与所述施压机对应的控制节点,所述控制节点根据接收到的所述第一端口号穿过防火墙向所述施压机服务端发送通信请求,其中,通信请求中包括***分配给所述控制节点的随机端口号和所述控制节点的IP地址,所述施压机服务端收到通信请求后就可以从中获取所述控制节点的IP地址和所述随机端口号,所述施压机守护进程与所述控制节点建立通信,传递开启压测进程指令;
压测进程创建模块,用于所述控制节点发出开启压测进程指令至施压机,以使所述施压机开启压测进程;
压测进程通信模块,用于在所述施压机服务端上绑定第二端口号,施压机压测进程通过进程间通信将所述第二端口号发送至所述施压机守护进程,所述施压机守护进程通过HTTP协议穿过防火墙将所述第二端口号发送至与所述施压机对应的控制节点,所述控制节点根据接收到的第二端口号穿过防火墙向所述施压机服务端发送通信请求,其中,通信请求中包括***分配给所述控制节点的随机端口号和所述控制节点的IP地址,所述施压机服务端收到通信请求后就可以从中获取所述控制节点的IP地址和所述随机端口号,所述压测进程与所述控制节点建立通信,传递压测任务信息和压测结果信息。
9.一种电子设备,其特征在于,所述设备包括:
通信器,用于与服务器通信;
处理器;
存储器,其存储有计算机可执行程序,该程序在被所述处理器执行时,使得所述处理器执行如权利要求1-7中用于公网压力测试的通信方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中用于公网压力测试的通信方法。
CN201811238273.4A 2018-10-23 2018-10-23 一种用于公网压力测试的通信方法、***、设备和介质 Active CN109245964B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811238273.4A CN109245964B (zh) 2018-10-23 2018-10-23 一种用于公网压力测试的通信方法、***、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811238273.4A CN109245964B (zh) 2018-10-23 2018-10-23 一种用于公网压力测试的通信方法、***、设备和介质

Publications (2)

Publication Number Publication Date
CN109245964A CN109245964A (zh) 2019-01-18
CN109245964B true CN109245964B (zh) 2021-03-12

Family

ID=65081625

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811238273.4A Active CN109245964B (zh) 2018-10-23 2018-10-23 一种用于公网压力测试的通信方法、***、设备和介质

Country Status (1)

Country Link
CN (1) CN109245964B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112306837A (zh) * 2020-11-10 2021-02-02 光大兴陇信托有限责任公司 一种云压力测试方法及平台、设备及可读存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242412A (zh) * 2008-03-17 2008-08-13 张建中 一种多维数据实例传送的方法和装置以及***
CN103188116B (zh) * 2011-12-31 2016-03-02 ***通信集团公司 一种刀片服务器的网络性能检测方法和***
CN103455416B (zh) * 2013-07-18 2016-04-27 北京航空航天大学 一种基于占用Android***智能设备内存和CPU的压力测试方法
CN106506255B (zh) * 2016-09-21 2019-11-05 微梦创科网络科技(中国)有限公司 一种压力测试的方法、装置及***
US20190258805A1 (en) * 2016-11-04 2019-08-22 Singapore University Of Technology And Design Computer-implemented method and data processing system for testing device security
CN108063694A (zh) * 2016-11-08 2018-05-22 英业达科技有限公司 通过核心程序在通讯端口上进行压力测试的***及其方法
CN106713484B (zh) * 2017-01-10 2020-09-01 微梦创科网络科技(中国)有限公司 一种性能压测实现方法、***及服务器

Also Published As

Publication number Publication date
CN109245964A (zh) 2019-01-18

Similar Documents

Publication Publication Date Title
CN110442524B (zh) 一种针对带有认证授权的web服务接口测试方法和装置
US9244817B2 (en) Remote debugging in a cloud computing environment
CN109561171B (zh) 虚拟私有云服务的配置方法和装置
CN104753817B (zh) 一种云计算消息队列服务本地模拟方法和***
US9934135B2 (en) Generic test automation for application programming interface applications
US20100057865A1 (en) Transferable Debug Session in a Team Environment
CN109525461B (zh) 一种网络设备的测试方法、装置、设备及存储介质
CN108768730B (zh) 用于操作智能网卡的方法和装置
CN102904959B (zh) 网络加速方法和网关
CN108833251B (zh) 用于控制网络互联的方法和装置
CN108256118A (zh) 数据处理方法、装置、***、计算设备以及存储介质
CN111786939B (zh) 物联网管理平台测试的方法、装置和***
CN112769794B (zh) 一种数据转换方法及装置
CN112363879A (zh) 缓存服务器性能测试方法、装置、设备和介质
CN109889521B (zh) 存储器、通信通道复用实现方法、装置和设备
CN112039796A (zh) 数据包传输方法和装置、存储介质和电子设备
CN108900562B (zh) 登录状态的共享方法、装置、电子设备及介质
CN104954321B (zh) 一种连接切换方法、装置及***
CN109167762A (zh) 一种iec104报文校验方法及装置
CN113852426A (zh) 一种远程测试方法、装置及***
CN109245964B (zh) 一种用于公网压力测试的通信方法、***、设备和介质
CN107666401A (zh) 一种配置信息获取方法及终端
CN111600787B (zh) 信息处理方法、装置、电子设备和介质
CN110430478B (zh) 组网通信方法、装置、终端设备及存储介质
CN112596897A (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240117

Address after: 716000, Innovation Space 258, 2nd Floor, Building A, Incubation Base, High tech Industrial Development Zone, Yan'an City, Shaanxi Province

Patentee after: Shaanxi Xin'an Digital Technology Co.,Ltd.

Address before: Room 101-1, Building 2, No. 95, Daguan Middle Road, Tianhe District, Guangzhou, Guangdong 510000 (office only)

Patentee before: Guangzhou Zhongtian Technology Consulting Co.,Ltd.

Effective date of registration: 20240117

Address after: Room 101-1, Building 2, No. 95, Daguan Middle Road, Tianhe District, Guangzhou, Guangdong 510000 (office only)

Patentee after: Guangzhou Zhongtian Technology Consulting Co.,Ltd.

Address before: 430000 Wuhan Donghu Development Zone, Wuhan, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building

Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.