CN102195829A - 一种通用压力仿真系统及其控制方法 - Google Patents
一种通用压力仿真系统及其控制方法 Download PDFInfo
- Publication number
- CN102195829A CN102195829A CN2010101285753A CN201010128575A CN102195829A CN 102195829 A CN102195829 A CN 102195829A CN 2010101285753 A CN2010101285753 A CN 2010101285753A CN 201010128575 A CN201010128575 A CN 201010128575A CN 102195829 A CN102195829 A CN 102195829A
- Authority
- CN
- China
- Prior art keywords
- intermediate layer
- test
- environment
- service logic
- production environment
- 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
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种应用于网络负载压力测试的仿真系统,特别涉及一种通用压力仿真系统及其控制方法,该通用压力仿真系统是包括表示层、中间层集群、数据层的三层结构,中间层集群包含生产环境中的业务逻辑中间层和测试环境中的测试中间层。本发明取代了对真实网络生产环境进行模拟的方式,在独立于生产环境的测试环境中引入生产环境的网络负载压力参数,并根据导入的压力在测试环境中对测试环境进行优化整合,该优化过程不对真实的生产环境造成任何业务波动,并且测试环境的优化结果为生产环境自身的优化提供了真实有效的依据。
Description
技术领域
本发明涉及一种应用于网络负载压力测试的仿真系统,特别涉及一种通用压力仿真系统及其控制方法。
背景技术
随着互联网越来越迅猛的发展,上网人数每年以10%左右速度增长,数据信息量越来越庞大,加上最近几年来网络热点层出不穷,从新闻传媒到博客,以及SNS、WAP等,使得各大网站的网络负载压力与日俱增,鉴于这种压力,如何不断优化整合已有的软硬件资源以及优化提高当前的架构设计,是当今互联网技术不断发展和创新的动力源泉。
对于软硬件资源或网络架构设计进行优化,需要对其进行测试并提供结果来反映优化是否有效,目前市面上流行的测试工具包括loadrunner、sysbench、bonnie++、iozone、orion等,这些测试工具各自所偏重的测试点均不相同,有的着重于简单易用,有的着重于丰富的报告功能。
上述工具一般是通过自身所模拟的测试环境来进行测试,然而互联网上用户的网络服务请求不仅多样而且复杂,不同的网络热点带来的网络负载压力也不尽相同,通过模拟所得的测试环境比较单一,显然无法模拟出用户复杂化的服务请求。因此,通过测试工具所观测和判定的优化结果与客观实际的结果往往存在较大的偏差,优化测试的瓶颈主要体现在以下几点:
1:在模拟的测试环境中,无法得到互联网网络工作线上生产环境的真实压力状况,所测试的结果与真实环境下的情况存在偏差,难以确认测试环境下所产生的优化结果是否在真实环境中也有效;
2:如果直接在互联网真实环境的网络工作线上进行测试优化,绝大部分情况会造成线上的业务受到影响,轻则业务波动,重则业务停顿,这都是服务商和用户不能容忍的。实际上,一个成功的优化需要多次反复的尝试,很明显,我们不能在真实的业务中进行这种优化尝试;
3:除了优化外,我们还希望能了解互联网网络工作线上的真实压力极限,而这些压力极限往往都不是呈线性增长,并且一些网络热点的分布是很难估计和模拟出来,因此,我们无法对系统的单点或整体的极限做到心中有数。
如果定义网络工作线的真实环境为生产环境,提供测试的环境为测试环境,我们面临的一个问题就是:如何将生产环境引入到测试环境中,而测试环境的任何优化动作不能影响到生产环境的正常运作,并且该测试环境可以引入生产环境的网络负载压力,或是依据需求而定义测试环境的压力,做到测试需求可定制。
鉴于上述问题,本发明公开一种通用压力仿真系统。其具有如下文所述之技术特征,以解决现有的问题。
发明内容
为了解决上述技术问题,本发明将网络工作线的真实环境即生产环境中的真实数据接入到测试环境中,并且不影响生产环境正常的运作,提供了一种通用压力仿真系统。
本发明的一种通用压力仿真系统,包括表示层、中间层集群、数据层。
所述中间层集群分别与表示层、数据层连接,中间层集群对表示层是透明的,数据层对中间层集群是透明的。
所述中间层集群包含业务逻辑中间层和测试中间层,业务逻辑中间层与测试中间层连接。
所述中间层集群是无状态的中间层,该无状态中间层配置有中间层服务器,中间层服务器对业务逻辑数据的处理是利用嵌入式脚本实现的。
所述数据层配置有缓存存储器、数据库代理服务器和多套数据库服务器。
所述的一种通用压力仿真系统的控制方法,包含以下步骤:
步骤1:在生产环境中,业务逻辑中间层接收表示层的用户请求,提交给嵌入式脚本进行处理,嵌入式脚本反序列化用户请求,产生一个请求对象;
步骤2:在生产环境中,业务逻辑中间层针对请求对象,产生一个轻量级线程,调用嵌入式脚本执行生产环境的业务逻辑;
步骤3:在生产环境中,根据数据库管理员的需求,产生一个新的用户请求;
步骤4:在生产环境中,业务逻辑中间层继续执行生产环境的业务逻辑。
所述的一种通用压力仿真系统的控制方法,所述步骤3还包含以下步骤:
步骤3.1:所述产生的新的用户请求异步发送至测试环境的测试中间层,测试中间层接收新的用户请求后提交给嵌入式脚本进行处理,嵌入式脚本反序列化新的用户请求,产生一个新的用户请求对象;
步骤3.2:在测试环境中,测试中间层针对新的用户请求对象,产生一个新的轻量级线程,调用嵌入式脚本执行测试环境的业务逻辑;
步骤3.3:在测试环境中,测试中间层的业务逻辑处理完毕,直接结束。
本发明取代了对真实网络生产环境进行模拟的方式,在独立于生产环境的测试环境中引入生产环境的网络负载压力参数,并根据导入的压力在测试环境中对测试环境进行优化整合,该优化过程不对真实的生产环境造成任何业务波动,并且测试环境的优化结果为生产环境自身的优化提供了依据。
附图说明
图1是本发明的一种通用压力仿真系统的结构图。
图2是本发明的一种通用压力仿真系统的构架示意图。
图3是通用压力仿真系统控制方法的流程图。
具体实施方式
根据本发明的权利要求和发明内容所公开的内容,本发明的技术方案具体如下实施例所述:
实施例:
如图1所示,表示层1配置有Web服务器,主要接收用户的请求并返回数据,为客户端提供应用逻辑控制的访问;中间层集群2配置有中间层服务器,负责对数据业务逻辑处理;数据层3配置有缓存存储器及连接数据库的数据库代理服务器和多套数据库服务器,负责管理对数据库数据的读写。
如图2所示,本发明的一种通用压力仿真系统,包括表示层1、中间层集群2、数据层3,是一个三层体系的结构。
中间层集群2分别与表示层1、数据层3连接,中间层集群2对表示层1是透明的,数据层3对中间层集群2是透明的。
中间层集群2包含业务逻辑中间层21和测试中间层22,业务逻辑中间层21与测试中间层22连接,业务逻辑中间层21主要处理生产环境的业务逻辑,测试中间层22主要处理测试环境的业务逻辑。
中间层集群2是无状态的中间层,该无状态中间层配置有中间层服务器,中间层服务器对业务逻辑数据的处理是利用嵌入式脚本实现的。本发明使用的嵌入式脚本可采用Clurk脚本,Clurk脚本是作为一门方便的嵌入式并可扩展的轻量级脚本来设计的,一直遵从着简单、小巧、可移植、快速的原则,能嵌入到宿主处理单元中,以此来实现可配置性、可扩展性。Clurk虚拟机支持多进程、多线程、轻量级线程的逻辑模型,Clurk脚本配合引擎完成数据描述、配置管理和业务逻辑控制等任务。
数据层3配置有缓存存储器、数据库代理服务器和多套数据库服务器。
如图3所示,所述的一种通用压力仿真系统的控制方法,包含以下的步骤:
步骤1:在生产环境中,业务逻辑中间层21接收表示层1的用户请求,提交给嵌入式脚本进行处理,嵌入式脚本反序列化用户请求,产生一个请求对象;
步骤2:在生产环境中,业务逻辑中间层21针对请求对象,产生一个轻量级线程,调用嵌入式脚本执行生产环境的业务逻辑;
步骤3:在生产环境中,根据数据库管理员的需求,产生一个新的用户请求;
步骤4:在生产环境中,业务逻辑中间层21继续执行生产环境的业务逻辑。
所述的一种通用压力仿真系统的控制方法,所述步骤3还包含以下步骤:
步骤3.1:所述产生的新的用户请求异步发送至测试环境的测试中间层22,测试中间层22接收新的用户请求后提交给嵌入式脚本进行处理,嵌入式脚本反序列化新的用户请求,产生一个新的用户请求对象;
步骤3.2:在测试环境中,测试中间层22针对新的用户请求对象,产生一个新的轻量级线程,调用嵌入式脚本执行测试环境的业务逻辑;
步骤3.3:在测试环境中,测试中间层22的业务逻辑处理完毕,直接结束。
根据上述控制方法的步骤,在生产环境中,中间层服务器接收Web前端表示层1的服务指令,获取客户请求数据,提交给嵌入式脚本处理,针对单个请求,中间层服务器的业务逻辑中间层21按照生产环境要求进行处理,但是涉及处理数据库相关请求时,业务逻辑中间层21在按照自己流程处理业务逻辑的同时,将该服务请求异步发送至测试中间层22,业务逻辑中间层21无需等待测试中间层22的反馈,依然遵从原有业务逻辑的处理方式对客户服务请求进行后续的逻辑处理。
根据上述控制方法的步骤,在测试环境中,测试中间层22获取业务逻辑中间层21异步传送的服务请求,即使获得生产环境的网络压力数据参数,测试中间层22可根据对数据库的测试要求定制处理流程,该处理流程处理完毕之后直接结束,不需要将处理结果返回至生产环境。
本发明将生产环境和测试环境完全隔离,测试中间层22在对数据库的测试处理流程中,以1∶1的比例引入真实网络工作线上的压力至测试环境中,在测试环境中,不仅限于DB当机、网络中断、中间件服务器硬件等故障,其他测试环境中的任何优化动作都不会影响到现实中真实的生产环境。
除了1∶1引入真实环境的压力,该通用压力仿真系统还能以1∶N放大压力,定制前端缓存存储器的命中率,如定制分布式Cache的命中率,调节后端数据库代理服务器、多套数据库服务器处理数据库数据的压力,重新定义用户请求内容,即可针对专门的热点事件、热点用户进行测试单表或单点的极限压力,非线性的热点压力可以据此得到极限压力,用以满足测试可定制的需求。
此外,测试环境中,可任意指定HASH规则,可以跟生产环境完全一致,也可以不一致,给优化重组架构提供可能测试的底层可以是数据库也可以是存储器,提供一种完全透明的底层。
本发明取代了对真实网络生产环境进行模拟的方式,在独立于生产环境的测试环境中引入生产环境的网络负载压力参数,并根据导入的压力在测试环境中对测试环境进行优化整合,该优化过程不对真实的生产环境造成任何业务波动,并且测试环境的优化结果为生产环境自身的优化提供了真实有效的依据。
上述实施例仅是本发明可选实施方式的举例,其所公开的特征仅用于说明及阐述本发明的技术方案,并不用于限定本发明的保护范围。
Claims (6)
1.一种通用压力仿真系统,其特征在于,包括表示层(1)、中间层集群(2)、数据层(3);
所述中间层集群(2)分别与表示层(1)、数据层(3)连接,中间层集群(2)对表示层(1)是透明的,数据层(3)对中间层集群(2)是透明的;
所述中间层集群(2)包含业务逻辑中间层(21)和测试中间层(22),业务逻辑中间层(21)与测试中间层(22)连接。
2.根据权利要求1所述的一种通用压力仿真系统,其特征在于,所述中间层集群(2)是无状态的中间层,该中间层配置有中间层服务器。
3.根据权利要求1或2所述的一种通用压力仿真系统,其特征在于,所述中间层服务器对业务逻辑数据的处理是利用嵌入式脚本实现的。
4.根据权利要求1所述的一种通用压力仿真系统,其特征在于,所述数据层(3)配置有缓存存储器、数据库代理服务器和多套数据库服务器。
5.根据权利要求1所述的一种通用压力仿真系统的控制方法,其特征在于,包含以下步骤:
步骤1:在生产环境中,业务逻辑中间层(21)接收表示层(1)的用户请求,提交给嵌入式脚本进行处理,嵌入式脚本反序列化用户请求,产生一个请求对象;
步骤2:在生产环境中,业务逻辑中间层(21)针对请求对象,产生一个轻量级线程,调用嵌入式脚本执行生产环境的业务逻辑;
步骤3:在生产环境中,根据数据库管理员的需求,产生一个新的用户请求;
步骤4:在生产环境中,业务逻辑中间层(21)继续执行生产环境的业务逻辑。
6.根据权利要求4所述的一种通用压力仿真系统的控制方法,其特征在于,所述步骤3还包含以下步骤:
步骤3.1:所述产生的新的用户请求异步发送至测试环境的测试中间层(22),测试中间层(22)接收新的用户请求后提交给嵌入式脚本进行处理,嵌入式脚本反序列化新的用户请求,产生一个新的用户请求对象;
步骤3.2:在测试环境中,测试中间层(22)针对新的用户请求对象,产生一个新的轻量级线程,调用嵌入式脚本执行测试环境的业务逻辑;
步骤3.3:在测试环境中,测试中间层(22)的业务逻辑处理完毕,直接结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010128575.3A CN102195829B (zh) | 2010-03-19 | 2010-03-19 | 一种通用压力仿真系统及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010128575.3A CN102195829B (zh) | 2010-03-19 | 2010-03-19 | 一种通用压力仿真系统及其控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102195829A true CN102195829A (zh) | 2011-09-21 |
CN102195829B CN102195829B (zh) | 2014-05-14 |
Family
ID=44603251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010128575.3A Active CN102195829B (zh) | 2010-03-19 | 2010-03-19 | 一种通用压力仿真系统及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102195829B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297286A (zh) * | 2012-02-23 | 2013-09-11 | 百度在线网络技术(北京)有限公司 | 分布式集群的可靠性的测试系统、方法和装置 |
CN105204975A (zh) * | 2015-10-08 | 2015-12-30 | 上海瀚之友信息技术服务有限公司 | 基于JavaEE体系架构的性能监控系统及方法 |
CN106941420A (zh) * | 2017-03-16 | 2017-07-11 | 北京深思数盾科技股份有限公司 | 一种集群应用环境升级方法及装置 |
CN107277146A (zh) * | 2017-06-26 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种分布式存储业务流量模型生成方法及系统 |
CN107329894A (zh) * | 2017-06-21 | 2017-11-07 | 广州华多网络科技有限公司 | 应用程序系统测试方法、装置及电子设备 |
CN108334340A (zh) * | 2017-07-17 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种跨环境数据通信方法、装置和系统 |
CN110333988A (zh) * | 2019-04-16 | 2019-10-15 | 中国银行股份有限公司 | 热点资源使用模拟方法及装置 |
CN111143209A (zh) * | 2019-12-23 | 2020-05-12 | 五八有限公司 | 分层压力测试方法、装置、电子设备及存储介质 |
CN112527641A (zh) * | 2020-12-04 | 2021-03-19 | 厦门极致互动网络技术股份有限公司 | 一种游戏服务器负载测试方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1480379A1 (en) * | 2003-05-21 | 2004-11-24 | Ixia | Automated characterization of network traffic |
CN1560741A (zh) * | 2004-02-23 | 2005-01-05 | 史宇清 | 基于j2ee的五层体系结构构建方法 |
CN1921484A (zh) * | 2006-09-14 | 2007-02-28 | 南京中兴软创软件有限公司 | 一种基于浏览器的客户端/服务器架构 |
CN101001183A (zh) * | 2007-01-10 | 2007-07-18 | 网之易信息技术(北京)有限公司 | 一种网络应用软件的测试方法和系统 |
CN101567062A (zh) * | 2008-04-22 | 2009-10-28 | 北京中食新华科技有限公司 | 一种具有平衡负载能力的物流WebGIS系统 |
-
2010
- 2010-03-19 CN CN201010128575.3A patent/CN102195829B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1480379A1 (en) * | 2003-05-21 | 2004-11-24 | Ixia | Automated characterization of network traffic |
CN1560741A (zh) * | 2004-02-23 | 2005-01-05 | 史宇清 | 基于j2ee的五层体系结构构建方法 |
CN1921484A (zh) * | 2006-09-14 | 2007-02-28 | 南京中兴软创软件有限公司 | 一种基于浏览器的客户端/服务器架构 |
CN101001183A (zh) * | 2007-01-10 | 2007-07-18 | 网之易信息技术(北京)有限公司 | 一种网络应用软件的测试方法和系统 |
CN101567062A (zh) * | 2008-04-22 | 2009-10-28 | 北京中食新华科技有限公司 | 一种具有平衡负载能力的物流WebGIS系统 |
Non-Patent Citations (2)
Title |
---|
兰景英 等: "WEB系统性能测试研究", 《计算机技术与发展》 * |
梁红洲: "Web系统测试技术研究", 《科技广场 》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297286B (zh) * | 2012-02-23 | 2016-12-14 | 百度在线网络技术(北京)有限公司 | 分布式集群的可靠性的测试系统、方法和装置 |
CN103297286A (zh) * | 2012-02-23 | 2013-09-11 | 百度在线网络技术(北京)有限公司 | 分布式集群的可靠性的测试系统、方法和装置 |
CN105204975A (zh) * | 2015-10-08 | 2015-12-30 | 上海瀚之友信息技术服务有限公司 | 基于JavaEE体系架构的性能监控系统及方法 |
CN106941420B (zh) * | 2017-03-16 | 2019-12-13 | 北京深思数盾科技股份有限公司 | 一种集群应用环境升级方法及装置 |
CN106941420A (zh) * | 2017-03-16 | 2017-07-11 | 北京深思数盾科技股份有限公司 | 一种集群应用环境升级方法及装置 |
CN107329894A (zh) * | 2017-06-21 | 2017-11-07 | 广州华多网络科技有限公司 | 应用程序系统测试方法、装置及电子设备 |
CN107277146A (zh) * | 2017-06-26 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种分布式存储业务流量模型生成方法及系统 |
CN108334340A (zh) * | 2017-07-17 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种跨环境数据通信方法、装置和系统 |
CN110333988A (zh) * | 2019-04-16 | 2019-10-15 | 中国银行股份有限公司 | 热点资源使用模拟方法及装置 |
CN111143209A (zh) * | 2019-12-23 | 2020-05-12 | 五八有限公司 | 分层压力测试方法、装置、电子设备及存储介质 |
CN111143209B (zh) * | 2019-12-23 | 2023-10-17 | 五八有限公司 | 分层压力测试方法、装置、电子设备及存储介质 |
CN112527641A (zh) * | 2020-12-04 | 2021-03-19 | 厦门极致互动网络技术股份有限公司 | 一种游戏服务器负载测试方法 |
CN112527641B (zh) * | 2020-12-04 | 2022-05-17 | 厦门极致互动网络技术股份有限公司 | 一种游戏服务器负载测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102195829B (zh) | 2014-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102195829B (zh) | 一种通用压力仿真系统及其控制方法 | |
CN100476819C (zh) | 一种基于Web的数据挖掘系统及其控制方法 | |
CN103701635B (zh) | 一种在线配置Hadoop参数的方法和装置 | |
CN108322541B (zh) | 一种自适应的分布式体系架构 | |
WO2013090433A1 (en) | Systems and methods for trading using an embedded spreadsheet engine and user interface | |
CN100573576C (zh) | 网络环境下大型地下洞室群施工进度实时分析与控制系统及方法 | |
CA2948700A1 (en) | Systems and methods for websphere mq performance metrics analysis | |
CN107404431B (zh) | 一种多渠道多账户统一鉴权的消息发送选择方法及系统 | |
CN106358289A (zh) | 基于众包的数据采集方法、装置和服务器 | |
CN109725899A (zh) | 数据流式处理方法及装置 | |
CN103136621B (zh) | 工程送审表单的审核流程的在线管理方法 | |
CN102736916A (zh) | 用于在网络应用程序中保持网络会话有效的方法 | |
US20140172547A1 (en) | Scoring Online Data for Advertising Servers | |
CN113590576A (zh) | 数据库参数调整方法、装置、存储介质以及电子设备 | |
CN111367681A (zh) | 面向云计算集群的高负载状态下的桥梁设计系统 | |
CN105808588B (zh) | 基于众包模型的分布式定向垂直信息搜索系统和方法 | |
Zimmerman et al. | PowerWeb: A tool for evaluating economic and reliability impacts of electric power market designs | |
CN112686560A (zh) | 一种一站式创新创业人才孵化平台 | |
CN114730312A (zh) | 从异构数据源创建的受管物化视图 | |
Ji et al. | Revealing energy over-consumption and pollutant over-emission behind GDP: a new multi-criteria sustainable measure | |
CN103530506A (zh) | 一种模拟金融交易的游戏实现方法及装置 | |
CN103995886A (zh) | 一种多维度产品设计知识推送框架与构建方法 | |
CN103164776A (zh) | 一种药品追溯系统及其药品追溯方法和流程监控方法 | |
Li | China'S Economic Growth: What Do We Learn From Multiple‐Break Unit Root Tests? | |
CN100412858C (zh) | 报表生成系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180306 Address after: 201800 room 3, room No. 5358, Shanghai Jiading District highway, Shanghai, Shanghai Patentee after: Shanghai spades Interactive Network Technology Co., Ltd. Address before: 2415 room 2, Gangcheng Road, Pudong New Area, Shanghai, 201204 Patentee before: Shengdong Network Technology Development (Shanghai) Co., Ltd. |
|
TR01 | Transfer of patent right |