一种通用压力仿真系统及其控制方法技术方案

技术编号:6539732 阅读:226 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种应用于网络负载压力测试的仿真系统,特别涉及一种通用压力仿真系统及其控制方法,该通用压力仿真系统是包括表示层、中间层集群、数据层的三层结构,中间层集群包含生产环境中的业务逻辑中间层和测试环境中的测试中间层。本发明专利技术取代了对真实网络生产环境进行模拟的方式,在独立于生产环境的测试环境中引入生产环境的网络负载压力参数,并根据导入的压力在测试环境中对测试环境进行优化整合,该优化过程不对真实的生产环境造成任何业务波动,并且测试环境的优化结果为生产环境自身的优化提供了真实有效的依据。

【技术实现步骤摘要】

本专利技术涉及一种应用于网络负载压力测试的仿真系统,特别涉及。
技术介绍
随着互联网越来越迅猛的发展,上网人数每年以10%左右速度增长,数据信息量越来越庞大,加上最近几年来网络热点层出不穷,从新闻传媒到博客,以及SNS、WAP等,使得各大网站的网络负载压力与日俱增,鉴于这种压力,如何不断优化整合已有的软硬件资源以及优化提高当前的架构设计,是当今互联网技术不断发展和创新的动力源泉。对于软硬件资源或网络架构设计进行优化,需要对其进行测试并提供结果来反映优化是否有效,目前市面上流行的测试工具包括loadrunner、sysbench、bonnie++、iozone、 orion等,这些测试工具各自所偏重的测试点均不相同,有的着重于简单易用,有的着重于丰富的报告功能。上述工具一般是通过自身所模拟的测试环境来进行测试,然而互联网上用户的网络服务请求不仅多样而且复杂,不同的网络热点带来的网络负载压力也不尽相同,通过模拟所得的测试环境比较单一,显然无法模拟出用户复杂化的服务请求。因此,通过测试工具所观测和判定的优化结果与客观实际的结果往往存在较大的偏差,优化测试的瓶颈主要体现在以下几点1 在模拟的测试环境中,无法得到互联网网络工作线上生产环境的真实压力状况,所测试的结果与真实环境下的情况存在偏差,难以确认测试环境下所产生的优化结果是否在真实环境中也有效;2:如果直接在互联网真实环境的网络工作线上进行测试优化,绝大部分情况会造成线上的业务受到影响,轻则业务波动,重则业务停顿,这都是服务商和用户不能容忍的。 实际上,一个成功的优化需要多次反复的尝试,很明显,我们不能在真实的业务中进行这种优化尝试;3:除了优化外,我们还希望能了解互联网网络工作线上的真实压力极限,而这些压力极限往往都不是呈线性增长,并且一些网络热点的分布是很难估计和模拟出来,因此, 我们无法对系统的单点或整体的极限做到心中有数。如果定义网络工作线的真实环境为生产环境,提供测试的环境为测试环境,我们面临的一个问题就是如何将生产环境引入到测试环境中,而测试环境的任何优化动作不能影响到生产环境的正常运作,并且该测试环境可以引入生产环境的网络负载压力,或是依据需求而定义测试环境的压力,做到测试需求可定制。鉴于上述问题,本专利技术公开一种通用压力仿真系统。其具有如下文所述之技术特征,以解决现有的问题。
技术实现思路
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的业务逻辑处理完毕,直接结束。根据上述控制方法的步骤,在生产环境中,中本文档来自技高网
...

【技术保护点】
1.一种通用压力仿真系统,其特征在于,包括表示层(1)、中间层集群(2)、数据层(3);所述中间层集群(2)分别与表示层(1)、数据层(3)连接,中间层集群(2)对表示层(1)是透明的,数据层(3)对中间层集群(2)是透明的;所述中间层集群(2)包含业务逻辑中间层(21)和测试中间层(22),业务逻辑中间层(21)与测试中间层(22)连接。

【技术特征摘要】
1.一种通用压力仿真系统,其特征在于,包括表示层(1)、中间层集群O)、数据层⑶;所述中间层集群( 分别与表示层(1)、数据层C3)连接,中间层集群( 对表示层(1) 是透明的,数据层(3)对中间层集群(2)是透明的;所述中间层集群( 包含业务逻辑中间层和测试中间层(22),业务逻辑中间层 (21)与测试中间层02)连接。2.根据权利要求1所述的一种通用压力仿真系统,其特征在于,所述中间层集群(2)是无状态的中间层,该中间层配置有中间层服务器。3.根据权利要求1或2所述的一种通用压力仿真系统,其特征在于,所述中间层服务器对业务逻辑数据的处理是利用嵌入式脚本实现的。4.根据权利要求1所述的一种通用压力仿真系统,其特征在于,所述数据层(3)配置有缓存存储器、数据库代理服务器和多套数据库服务器。5.根据权利要求1所述的一种通用压力仿真系统的控制方法,其特征在于,包含以下步骤步骤1 在生产环境中,业务逻辑中间层接收...

【专利技术属性】
技术研发人员:余伟李杰徐景春秦晓玲
申请(专利权)人:升东网络科技发展上海有限公司
类型:发明
国别省市:31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1