CN110581787B - 一种运用于性能测试的应用层数据量倍增方法 - Google Patents
一种运用于性能测试的应用层数据量倍增方法 Download PDFInfo
- Publication number
- CN110581787B CN110581787B CN201910859340.2A CN201910859340A CN110581787B CN 110581787 B CN110581787 B CN 110581787B CN 201910859340 A CN201910859340 A CN 201910859340A CN 110581787 B CN110581787 B CN 110581787B
- Authority
- CN
- China
- Prior art keywords
- layer
- data
- proxy
- server
- forwarding
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种运用于性能测试的应用层数据量倍增方法,在一个客户端和一个服务器之间,增添呈树状结构的中间代理层,对来自上一层中间代理层的数据进行转发;当下一层中间代理层获取到上一层中间代理层的数据时,根据配置文件确定是否需要再次放大转发,并从该层中间代理层的命令库中随机抽取命令,替换掉上一层中间代理层数据中的命令后再转发给服务器。本发明的有益效果是:本发明能够通过自动化测试方式实现对服务器的性能测试,通过替换数据,模拟实际操作场景,增大了测试的覆盖度。
Description
技术领域
本发明涉及服务器性能测试技术领域,具体的说,是一种运用于性能测试的应用层数据量倍增方法。
背景技术
在测试中,需要对服务器进行性能测试,在同一时间,通过使用多个客户端对服务器进行访问,测试服务器的负载能力。
然而在测试环境中在同一时间段内使用多个客户端对服务器进行访问以测试服务器的负载能力较为困难,原因主要有两点:使用客户端访问服务器是一个较为复杂的人机交互过程,需要指定客户端与服务器建立连接后执行的操作和命令,通过自动化测试较为复杂,而对服务器进行性能测试需要大量的并发的来自客户端的连接,这一点是手动测试难以实现的。
发明内容
本发明的目的在于提供一种运用于性能测试的应用层数据量倍增方法,能够通过自动化测试方式实现对服务器的性能测试,通过替换数据,模拟实际操作场景,增大了测试的覆盖度。
本发明通过下述技术方案实现:
一种运用于性能测试的应用层数据量倍增方法,在一个客户端和一个服务器之间,增添呈树状结构的中间代理层,对来自上一层中间代理层的数据进行转发;当下一层中间代理层获取到上一层中间代理层的数据时,根据配置文件确定是否需要再次放大转发,并从该层中间代理层的命令库中随机抽取命令,替换掉上一层中间代理层数据中的命令后再转发给下一层中间代理层或服务器。
进一步地,为了更好的实现本发明,具体包括以下步骤:
步骤S1:在客户端和服务器之间部署一层或多层中间代理层;
步骤S2:在客户端的配置文件中确定客户端、服务器以及中间代理层的树状结构;每层中间代理层根据配置文件中的树状结构确定每一次转发的目的地址,目的端口号;
步骤S3:数据转发;
步骤S4:判断该层中间代理层是否为叶子节点;若是,则将数据发送给服务器,完成转发;
若否,将再次根据配置文件确定下一层中间代理层的转发地址和放大倍数;重复数据转发直至将数据转发给的中间代理层为叶子节点,完成数据转发,将数据发送给服务器,完成转发。
进一步地,为了更好的实现本发明,所述步骤S3具体包括以下步骤:
步骤S31:在下一层中间代理层在获得数据时,根据配置文件确定是否放大转发、放大转发的倍数、转发数据的目的地址和目的端口号;
步骤S32:下层中间代理层接收到来自上一层的数据时,先解析报文数据,对报文中的应用层数据进行替换,并根据配置,确定网络层地址,传输层端口号,对报文重新封装后再继续转发。
进一步地,为了更好的实现本发明,第一层中间代理层包括n个中间子代理服务器,第二层中间代理层包括n*n个中间子代理服务器,第一层中间代理层中的一个中间子代理服务器将数据转发给n个第二层中间代理层中间子代理服务器,依次类推,第m层中间代理层包括nm个中间子代理服务器。
进一步地,为了更好的实现本发明,
本发明与现有技术相比,具有以下优点及有益效果:
本发明能够通过自动化测试方式实现对服务器的性能测试,通过替换数据,模拟实际操作场景,增大了测试的覆盖度。
附图说明
图1为本发明的工作流程图;
图2为本发明中客户端、中间代理层、服务器之间的连接示意图;
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例1:
本发明通过下述技术方案实现,如图1、图2所示,一种运用于性能测试的应用层数据量倍增方法,在一个客户端和一个服务器之间,增添一层或多层的呈树状结构的中间代理层,对来自上一层中间代理层的数据进行转发;当下一层中间代理层获取到上一层中间代理层的数据时,根据配置文件确定是否需要再次放大转发,并从该层中间代理层的命令库中随机抽取命令,替换掉上一层中间代理层数据中的命令后再转发给下一层中间代理层或服务器。所述每层中间代理层包括多个中间子代理服务器。
需要说明的是,通过上述改进,对客户端与服务器建立连接和后续发送数据的流程进行分析,在客户端与服务器一次连接与客户端与服务器另一次连接之间,存在差异的部分为要访问的服务器地址,所使用的协议,与服务器建立连接后所进行的操作,其它部分没有明显区别。将存在差异的部分作为可变的参数,将相同的部分以自动化的方式实现。与服务器建立连接后所进行的操作即输入的命令。
在一个客户端和一个服务器之间,增添一层或多层中间代理层,对来自上一层的数据进行转发。当获取到上一层的数据时,能根据其中的配置文件确定是否需要再次放大转发,每一次转发时放大的倍数,转发数据的目的地址,目的端口号等。在每次转发时,并不是简单地将上一层的数据原封不动地发送给下一层,而是会从自身的命令库中随机抽取命令,替换掉上一层数据中的命令后再转发,模拟多种不同的命令操作,增加测试的覆盖度。通过部署多层多个代理,实现一次连接的倍增,在一个客户端和一个服务器之间建立大量的并发的连接,对服务器的负载能力进行测试。通过这种方法,能较为简单地通过自动化测试方式实现对服务器的性能测试。
通过部署多层多个代理,实现一次连接的倍增,在一个客户端和一个服务器之间建立大量的并发的连接,对服务器的负载能力进行测试。通过这种方法,能较为简单地通过自动化测试方式实现对服务器的性能测试。
实施例2:
本实施例在上述实施例的基础上做进一步优化,如图1所示,一种运用于性能测试的应用层数据量倍增方法,具体包括以下步骤:
步骤S1:在客户端和服务器之间部署一层或多层中间代理层;
步骤S2:在客户端的配置文件中确定客户端、服务器以及中间代理层的树状结构;每层代理服务器根据配置文件中的树状结构确定每一次转发的目的地址,目的端口号;
步骤S3:数据转发;
步骤S4:判断该层中间代理层是否为叶子节点;若是,则将数据发送给服务器,完成转发;
若否,将再次根据配置文件确定下一层中间代理层的转发地址和放大倍数;重复数据转发直至将数据转发给的中间代理层为叶子节点,完成数据转发,将数据发送给服务器,完成转发。
需要说明的是,通过上述改进,基于代理实现,在客户端和服务器之间部署一层或多层代理服务器,每一层的代理服务器对来自上一层的数据进行转发。在配置文件中,确定从客户端到服务器以及中间的多层代理的树状结构。
代理服务器根据配置文件中的树状结构确定每一次转发的目的地址,目的端口号。
对于每一层中的每一个中间代理层,对来自上层某个中间代理层或最开始的客户端的数据进行转发,并且能根据配置知道自己应该转发给下一层的哪些中间代理层;其中树状结构决定传输层地址、协议决定网络层端口号、转发给多少个代理;转发给多少个代理即为每一次放大的倍数,自己是否是放大节点;若是则转发给下一层的中间代理层,否则自己是位于最后一层的中间代理层,数据将发送给服务器。
在转发数据时,并不是将自己接收到的数据直接转发给下一层中间代理层,而是要对应用层的数据进行替换后,再将数据转发至下一层。这就要求需要在转发的双方之间建立连接;上一层中间代理层并不是将自己接收到的数据直接转发给下一层代理,而是要对应用层的数据进行替换后,再将数据转发至下一层。下层代理接收到来自上一层的数据时,先解析报文数据,对报文中应用层数据进行替换,同时根据配置文件,确定网络层地址,传输层端口号,对报文重新封装后再继续转发。
本实施例的其他部分与上述实施例相同,故不再赘述。
实施例3:
本实施例在上述实施例的基础上做进一步优化,如图1所示,所述步骤S3具体包括以下步骤:
步骤S31:在下一层中间代理层在获得数据时,根据配置文件确定是否放大转发、放大转发的倍数、转发数据的目的地址和目的端口号;
步骤S32:下层中间代理层接收到来自上一层的数据时,先解析报文数据,对报文中的应用层数据进行替换,并根据配置,确定网络层地址,传输层端口号,对报文重新封装后再继续转发。
中间代理层的部署通过自动化方式进行,在配置文件中以树形结构的形式确定中间代理层的分层结构,各中间代理层在整个结构中所处的位置。将配置文件传输至各中间代理层,中间代理层解析配置文件内容,完成部署,待测试开始后按照配置文件的配置进行转发。
由于要对应用层的数据进行替换,要对转发的报文数据进行解析,对于加密协议传送的数据各层代理之间在转发时也需要对其进行解析,这一部分基于标准的解密协议加密解密的方式来实现。
本实施例的其他部分与上述实施例相同,故不再赘述。
实施例4:
本实施例在上述实施例的基础上做进一步优化,如图2所示,客户端和服务器之间存在m层中间代理层,第一层中间代理层包括n个中间子代理服务器,第二层中间代理层包括n*n个中间子代理服务器,第一层中间代理层中的一个中间子代理服务器将数据转发给n个第二层中间代理层中间子代理服务器,依次类推,第m层中间代理层包括n个中间子代理服务器。第一层—第层的中间子代理服务器将对应下一层中nm个中间代理服务器。
客户端将最原始的数据传送给第一层中间代理层,第一层中间代理层再将数据转发至下一层,第二层的中间代理再转发至下一层,直到最后一层代理将数据转发至服务器。
同时这些连接中的应用层数据进行了替换。这些大量的并发的连接能够对服务器的负载能力进行测试,同时通过替换数据,模拟实际操作场景,增大了测试的覆盖度。
需要说明的是,通过上述改进,在大量模拟实际操作场景,增加服务器负载时,能有效控制客户端的压力。同等服务器负载条件下,客户端只需发起一条连接,由中间的多层代理对其放大转发,避免了在测试服务器性能时,发生瓶颈在客户端而不是服务器的情况。
本实施例的其他部分与上述实施例相同,故不再赘述。
实施例5:
本实施例为本发明的最佳实施例,如图1、图2所示,一种运用于性能测试的应用层数据量倍增方法,在一个客户端和一个服务器之间,增添呈树状结构的中间代理层,对来自上一层中间代理层的数据进行转发;当下一层中间代理层获取到上一层中间代理层的数据时,根据配置文件确定是否需要再次放大转发,并从该层中间代理层的命令库中随机抽取命令,替换掉上一层中间代理层数据中的命令后再转发给下一层中间代理层或服务器。
具体包括以下步骤:
步骤S1:在客户端和服务器之间部署一层或多层中间代理层;
步骤S2:在客户端的配置文件中确定客户端、服务器以及中间代理层的树状结构;每层中间代理层根据配置文件中的树状结构确定每一次转发的目的地址,目的端口号;
步骤S3:数据转发;所述步骤S3具体包括以下步骤:
步骤S31:在下一层中间代理层在获得数据时,根据配置文件确定是否放大转发、放大转发的倍数、转发数据的目的地址和目的端口号;
步骤S32:下层中间代理层接收到来自上一层的数据时,先解析报文数据,对报文中的应用层数据进行替换,并根据配置,确定网络层地址,传输层端口号,对报文重新封装后再继续转发。
步骤S4:判断该层中间代理层是否为叶子节点;若是,则将数据发送给服务器,完成转发;
若否,将再次根据配置文件确定下一层中间代理层的转发地址和放大倍数;重复数据转发直至将数据转发给的中间代理层为叶子节点,完成数据转发,将数据发送给服务器,完成转发。
本实施例的其他部分与上述实施例相同,故不再赘述。
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。
Claims (4)
1.一种运用于性能测试的应用层数据量倍增方法,其特征在于:在一个客户端和一个服务器之间,增添呈树状结构的中间代理层,对来自上一层中间代理层的数据进行转发;当下一层中间代理层获取到上一层中间代理层的数据时,根据配置文件确定是否需要再次放大转发,并从该层中间代理层的命令库中随机抽取命令,替换掉上一层中间代理层数据中的命令后再转发给下一层中间代理层或服务器。
2.根据权利要求1所述的一种运用于性能测试的应用层数据量倍增方法,其特征在于:具体包括以下步骤:
步骤S1:在客户端和服务器之间部署一层或多层中间代理层;
步骤S2:在客户端的配置文件中确定客户端、服务器以及中间代理层的树状结构;每层中间代理层根据配置文件中的树状结构确定每一次转发的目的地址,目的端口号;
步骤S3:数据转发;
步骤S4:判断该层中间代理层是否为叶子节点;若是,则将数据发送给服务器,完成转发;
若否,将再次根据配置文件确定下一层中间代理层的转发地址和放大倍数;重复数据转发直至将数据转发给的中间代理层为叶子节点,完成数据转发,将数据发送给服务器,完成转发。
3.根据权利要求2所述的一种运用于性能测试的应用层数据量倍增方法,其特征在于:所述步骤S3具体包括以下步骤:
步骤S31:在下一层中间代理层在获得数据时,根据配置文件确定是否放大转发、放大转发的倍数、转发数据的目的地址和目的端口号;
步骤S32:下层中间代理层接收到来自上一层的数据时,先解析报文数据,对报文中的应用层数据进行替换,并根据配置,确定网络层地址,传输层端口号,对报文重新封装后再继续转发。
4.根据权利要求1所述的一种运用于性能测试的应用层数据量倍增方法,其特征在于:第一层中间代理层包括n个中间子代理服务器,第二层中间代理层包括n*n个中间子代理服务器,第一层中间代理层中的一个中间子代理服务器将数据转发给n个第二层中间代理层中间子代理服务器,依次类推,第m层中间代理层包括nm个中间子代理服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910859340.2A CN110581787B (zh) | 2019-09-11 | 2019-09-11 | 一种运用于性能测试的应用层数据量倍增方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910859340.2A CN110581787B (zh) | 2019-09-11 | 2019-09-11 | 一种运用于性能测试的应用层数据量倍增方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110581787A CN110581787A (zh) | 2019-12-17 |
CN110581787B true CN110581787B (zh) | 2020-12-22 |
Family
ID=68812877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910859340.2A Active CN110581787B (zh) | 2019-09-11 | 2019-09-11 | 一种运用于性能测试的应用层数据量倍增方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110581787B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111859428B (zh) * | 2020-07-22 | 2022-07-19 | 成都安恒信息技术有限公司 | 一种基于容器化的密钥存储方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1855960A (zh) * | 2005-04-21 | 2006-11-01 | 中兴通讯股份有限公司 | 一种mgcp大话务量模拟呼叫自动测试工具和方法 |
CN1992635A (zh) * | 2005-12-27 | 2007-07-04 | 中兴通讯股份有限公司 | 模拟snmp网元及用该网元进行网管系统测试的方法 |
CN101933001A (zh) * | 2008-01-31 | 2010-12-29 | 雅虎公司 | 在集群系统中执行软件性能测试作业 |
CN102740342A (zh) * | 2012-06-08 | 2012-10-17 | 大唐移动通信设备有限公司 | 网管设备性能的模拟测试方法和系统 |
CN104573984A (zh) * | 2015-01-27 | 2015-04-29 | 国网四川省电力公司电力科学研究院 | 一种基于健康树的b/s信息系统状态划分方法 |
CN104809058A (zh) * | 2011-06-17 | 2015-07-29 | 阿里巴巴集团控股有限公司 | 一种在测试执行中动态调度并发数量的方法及装置 |
CN106776300A (zh) * | 2016-12-01 | 2017-05-31 | 北京驰波信息工程有限公司 | 一种中间系统的压力测试系统及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5862362A (en) * | 1995-10-05 | 1999-01-19 | Microsoft Corporation | Network failure simulator |
US7445886B2 (en) * | 2003-09-10 | 2008-11-04 | Board Of Regents, The University Of Texas System | Macrophage migration inhibitory factor as a marker for cardiovascular risk |
US7787374B2 (en) * | 2007-03-02 | 2010-08-31 | Agere Systems Inc. | Derivative packet delay variation as a metric for packet timing recovery stress testing |
US7773505B2 (en) * | 2007-03-02 | 2010-08-10 | Agere Systems Inc. | Method and system for generating packet delay variation with a uniform distribution |
CN102946335B (zh) * | 2012-12-11 | 2015-12-23 | 广州中国科学院软件应用技术研究所 | 一种网络状况检测方法及系统 |
-
2019
- 2019-09-11 CN CN201910859340.2A patent/CN110581787B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1855960A (zh) * | 2005-04-21 | 2006-11-01 | 中兴通讯股份有限公司 | 一种mgcp大话务量模拟呼叫自动测试工具和方法 |
CN1992635A (zh) * | 2005-12-27 | 2007-07-04 | 中兴通讯股份有限公司 | 模拟snmp网元及用该网元进行网管系统测试的方法 |
CN101933001A (zh) * | 2008-01-31 | 2010-12-29 | 雅虎公司 | 在集群系统中执行软件性能测试作业 |
CN104809058A (zh) * | 2011-06-17 | 2015-07-29 | 阿里巴巴集团控股有限公司 | 一种在测试执行中动态调度并发数量的方法及装置 |
CN102740342A (zh) * | 2012-06-08 | 2012-10-17 | 大唐移动通信设备有限公司 | 网管设备性能的模拟测试方法和系统 |
CN104573984A (zh) * | 2015-01-27 | 2015-04-29 | 国网四川省电力公司电力科学研究院 | 一种基于健康树的b/s信息系统状态划分方法 |
CN106776300A (zh) * | 2016-12-01 | 2017-05-31 | 北京驰波信息工程有限公司 | 一种中间系统的压力测试系统及方法 |
Non-Patent Citations (1)
Title |
---|
"基于Netty的四层和七层代理性能方面的一些压力测试";lovecindywang;《https://www.cnblogs.com/lovecindywang/p/11115802.html》;20190701;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110581787A (zh) | 2019-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8010598B2 (en) | Relay server and client terminal | |
US10764169B2 (en) | Methods, systems, and computer readable media for testing virtual network components deployed in virtual private clouds (VPCs) | |
US20170078179A1 (en) | Synthetic client | |
US20070192082A1 (en) | System and method for generating and executing a platform emulation based on a selected application | |
CN111338893B (zh) | 进程日志处理方法、装置、计算机设备以及存储介质 | |
CN104601742B (zh) | 一种报文传输的方法和设备 | |
US20090013072A1 (en) | Network apparatus test system and network apparatus test method | |
CN107172015A (zh) | 直播视频推送方法及装置 | |
CN110224897B (zh) | 应用程序的弱网络测试方法、装置、移动设备及存储介质 | |
CN110581787B (zh) | 一种运用于性能测试的应用层数据量倍增方法 | |
CN105721239A (zh) | 游戏测试方法、装置及游戏系统 | |
CN110677829A (zh) | 长期演进车到万物lte-v2x测试系统及测试方法 | |
JP2005175915A (ja) | エミュレーション装置及びエミュレーションプログラム | |
CN109167762A (zh) | 一种iec104报文校验方法及装置 | |
US20230239375A1 (en) | Deriving proxy stability without network inspection | |
CN110597706A (zh) | 一种用于应用程序接口数据异常测试的方法和装置 | |
CN104994022A (zh) | 一种报文传输的方法和业务板 | |
US7787599B2 (en) | Method and system for protocol embedded automated test control | |
CN104023089B (zh) | 应用的加速方法、应用加速器的选择方法及装置 | |
CN115314565B (zh) | 一种协议配置方法、协议转换方法和楼宇控制系统 | |
CN113595749B (zh) | 基于irc平台实现多方网络节点互通的通信方法和装置 | |
US6505235B1 (en) | Electronic mail system and terminal device | |
CN103731511A (zh) | 一种p2p系统中数据获取方法和装置 | |
CN111901354B (zh) | 数据处理方法、装置及电子终端 | |
JP2014063323A (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 |