自主压力测试平台的设计与实现-403.docx
《自主压力测试平台的设计与实现-403.docx》由会员分享,可在线阅读,更多相关《自主压力测试平台的设计与实现-403.docx(87页珍藏版)》请在三一办公上搜索。
1、密级: 保密期限: 硕士学位论文题目:自主压力测试平台的设计与实现学 号: 2012111472 姓 名: 郄 霖 专 业:计算机科学与技术导 师: 王红熳 学 院: 网络技术研究院 2015 年 1 月 21 日独创性(或创新性)声明本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。申请学位论文与资料若有不实之处,本人承担一切
2、相关责任。本人签名: 日期: 关于论文使用授权的说明学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇编学位论文。(保密的学位论文在解密后遵守此规定)保密论文注释:本学位论文属于保密在 年解密后适用本授权书。非保密论文注释:本学位论文不属于保密范围,适用本授权书。本人签名: 日期: 导师签名: 日期: 摘要自主压力测试平台的设计与实现摘 要近年来由于国家政
3、策的支持,自主化软硬件产品发展迅速。针对自主化平台的测试的需求也逐渐显露出来,从生产厂家到用户都需要对产品进行测试以保证产品质量以及产品的运行效果。目前在国产软硬件的测试工作中,主要使用了网上的开源工具,这些工具模拟用户请求对应用系统进行测试,主要采取了同步请求的方式,模拟拟用户在发起请求后处于等待状态,直到收到上一请求的响应后才会发起新的请求,这样的方式并不能比较直观的反映被测系统的真实的性能负载。此外开源的测试工具也不能满足自主化平台测试工作的安全性需求。本文针对自主化产品测试工作中的问题,提出了采用异步压力机制对被测系统施压的方法,并结合测试工作的具体内容建立了针对自主平台测试的压力产生
4、模型。通过对CIN-SCF中间件的改造,利用CIN-SCF平台的自动机管理与控制功能,实现了异步的压力产生机制,并通过自定义的业务触发方式实现了对压力产生模型以及秒级别压力产生模式的控制。利用针对数据库的测试作为切入点,检查包括自主数据库、自主操作系统、自主芯片服务器在内的全自主平台的事务处理能力。本文首先分析了压力测试需要关注的主要内容,并以此提出了自主压力测试平台的主要需求;之后重点研究解决了异步压力产生机制的实现方式以及压力控制模型及控制方式,并给出了自主压力测试平台的概要设计与详细设计,分析了模块间的处理流程,并介绍了模块的具体实现;本文设计与实现的自主压力测试平台,实现了异步消息的产
5、生机制,支持多种协议并可编写灵活的测试脚本,同时整个自主压力测试系统具有完全自主的知识产权,可以运行于全国产平台之上,避免了安全隐患。本文的自主压力测试平台通过了单元测试、集成测试与系统测试,并投入到了某研究所自主平台服务器的测试工作当中,发现了大量的系统问题,取得了良好的测试效果。关键词:自主平台 压力测试 异步压力 数据库测试IABSTRACTTHE DESIGN AND IMPLEMENTATION OF STRESS TESTING TOOL ACCORDING TO THE DOMESTIC PLATFORMABSTRACTIn recent years, because of th
6、e support of national policy, domestic hardware and software products developed rapidly. The demand for testing of domestic plantform is gradually revealed. Domestic computer platforms need to be tested to ensure its quality. At present, domestic computer test mainly use open source tools. Tool simu
7、lates synchronous request, simulated users dont send new request until receive the response of last resquest. This method cannot reflect the load performance directly. Besides, open-source software cannot avoid security hazards.This paper presents pressure produced by the model, through the transfor
8、mation of CIN-SCF middleware to realize the pressure test tool using asynchronous pressure request. Using the database as a starting point for testing, inspection including domestic database, domestic operating system, domestic chip server, transaction processing ability of domestic platform.This pa
9、per firstly analyzes the requirements of pressure test aimed at domestic platform. Focus on solving the realization way and the pressure control model and control method of asynchronous pressure generating mechanism. The design and implementation of stress testing tool has a completely independent i
10、ntellectual property rights. The testing tool is applied to a research institute independent platform service test work of the system, found a large number of problems, and achieved good results.KEY WORDS: domestic platform pressure test synchronous pressure database test目录目录第一章前言11.1论文背景11.2论文内容2第二
11、章背景知识介绍32.1压力测试32.1.1压力测试的概念32.1.2压力测试内容的确定32.1.3压力测试关键指标的设定42.2测试工具LoadRunner介绍42.2.1LoadRunner体系结构52.2.2LoadRunner工作原理62.2.3LoadRunner的不足之处62.3ODBC简介62.3.1ODBC总体结构62.3.2ODBC应用原理72.4CIN-SCF中间件介绍72.4.1CIN-SCF概述72.4.2业务逻辑程序开发92.4.3业务触发方式102.5本章小结10第三章自主压力测试平台的需求分析113.1自主压力测试平台总体概述113.1.1系统环境113.1.2功能
12、概述123.1.3角色定义与用例分析123.2自主压力测试平台功能需求分析133.2.1测试任务制定功能133.2.2测试流程控制功能143.2.3测试实时监控功能183.2.4测试报告生成功能193.3自主压力测试平台非功能需求分析203.3.1并发压力需求分析203.3.2稳定性需求分析203.3.3跨平台能力需求分析213.4本章小结21第四章自主压力测试平台的概要设计224.1总体结构224.2压力测试平台静态结构224.3压力测试平台关键流程264.3.1测试任务制定流程264.3.2压力产生模式控制流程274.3.3测试前检查流程284.3.4测试执行流程294.3.5测试终止流程
13、304.3.6测试实时监控流程314.3.7测试报告生成流程324.4压力测试平台数据结构设计324.4.1压力测试平台数据分析334.4.2共享内存结构设计344.4.3测试配置文件设计354.4.4测试结果文件设计364.5关键问题研究及解决方案374.5.1压力模型设计及控制机制374.5.2异步压力产生机制的实现404.6本章小结41第五章自主平台的压力测试平台的详细设计与实现425.1压力产生及控制子系统425.1.1任务调度模块445.1.2压力控制模块465.1.3并发控制模块485.1.4统计控制模块495.2测试管理子系统505.2.1配置管理模块515.2.2节点管理模块5
14、35.2.3任务管理模块545.2.4报告管理模块555.3测试脚本库子系统565.3.1测试脚本选取与执行流程565.3.2测试脚本执行基本流程575.4本章小结58第六章自主压力测试平台的测试与应用596.1测试环境596.2测试方法与测试结果606.2.1单元测试606.2.2集成测试636.2.3系统测试646.3自主压力测试平台的实际应用案例666.3.1系统部署说明666.3.2系统应用情况676.4本章小结67第七章结束语687.1工作总结687.2系统展望69参考文献71致 谢73作者攻读学位期间发表的学术论文目录74 71第一章 前言第一章 前言1.1 论文背景近几年来,由于
15、国家在政策以及资金上大力支持,国产自主软硬件产品发展迅速,已经基本形成了从自主芯片、自主操作系统、自主数据库到前端应用的一体化的全国产平台的软硬件解决方案。此外,棱镜计划的曝光更是将信息安全的问题暴露在人们的视野里。从2009年开始,“棱镜”项目便将目标对准了中国内地和香港的电脑系统,项目主要通过潜入政府部门、教育部门的服务器以及电脑,监视日常活动,美国政府网络入侵中国网络成功率高达75%,国内的计算机系统无法实现完全自主可控是产生上述问题的重要原因。“棱镜”事件后许多国家政府宣布使用自主研发的系统,我过政府也将国产计算机、操作系统等大规模的纳入到政府采购中。这为国产自主软硬件产品带来了机遇的
16、同时也面临这重大的挑战。自主化产品的性能测试对于生产厂家和用户来说都至关重要。对于各生产厂家来说,需要行之有效的工具对其产品的性能进行测试,以便找出产品缺陷、性能瓶颈,从而不断的对产品进行优化;对用户来说,需要对不同厂家的产品及组合进行测试,得到单项指标、综合指标,从而选择最优的产品及其组合,使系统在实施中达到良好的运行效果。目前市面上的测试工具难以满足自主平台的测试需求。常见的测试工具有LoadRunner、PerformanceRunner、JMeter等,这些测试工具均采用了同步请求的测试方式,即模拟多个用户不断地对系统发起请求,用户是在上一请求结束后才会发起新的请求,这种测试方式并不能
17、提供较大的并发压力,因此也不能真实的反应被测系统的最大性能负载。此外,上述工具均为开源工具或国外企业开发的工具,在安全性方面也不能满足自主平台测试的需求。本文设计实现的自主压力测试平台正是为了解决上述问题。其中的“自主”有两层含义,一是本文所提及的压力测试平台的被测目标是包括了自主数据库、自主操作系统、自主芯片的整机在内的全自主平台;二是指本文所设计实现的压力测试平台不但具有完全的自主知识产权,同时也可以运行在全自主的平台之上。因此,本文实现的压力测试平台在满足了针对国产平台测试的同时,也满足了全自主平台的测试环境,满足了安全性方面的需求。本文作者在攻读硕士学位期间,从事了压力测试相关的研究和
18、实践,有幸参与到了自主压力测试平台的设计、开发测试以及部署应用等工作,本论文根据作者在自主压力测试平台项目中的实践工作为基础写作而成。本文将给出自主压力测试平台的设计和实现方案。1.2 论文内容本论文在压力测试平台LoadTester项目的基础上详细描述了基于CIN-SCF中间件的自主压力测试平台的设计与实现。作者通过总结读研期间的理论研究和实践学习工作 ,通过对整个系统的把握,从自主压力测试平台的功能需求、概要设计、详细设计、测试工作以及应用部署这几个方面对自主压力测试平台做了详细介绍。论文共分为以下八个章节:第一章主要介绍了论文的背景和论文的主要内容,对论文的结构进行了划分。第二章主要介绍
19、了本论文所描述的自主压力测试平台的背景知识,压力测试的介绍、LoadRunner测试工具的介绍、开放数据互联(ODBC, Open Database Connectivity)的介绍以及CIN-SCF中间件的介绍。第三章分析了压力测试平台的需求,本章首先对压力测试平台的总体需求进行了描述,包括功能概述、用户角色分析、总体用例、功能需求分析和非功能需求分析等内容。第四章介绍了压力测试平台的概要设计,分别从平台外部架构、静态结构以及动态结构、数据结构以及关键问题几方面讨论了压力测试平台的总体设计方案。第五章重点描述了压力测试平台的子系统的设计以及重要模块的详细设计与实现,给出了模块工作的具体流程。
20、第六章介绍了自主压力测试平台的测试,本章介绍了自主压力测试平台的测试环境和测试方法并给出系统的测试结果,包括单元测试、集成测试和系统测试。第七章对压力测试平台的应用和部署进行了介绍,并讨论了系统在应用部署过程中发现的问题。第八章结束语,本章首先对论文以及作者研究生期间的学习和工作经历进行了总结,最后对压力测试平台及相关领域的未来发展进行了展望。第二章 背景知识介绍第二章 背景知识介绍本章主要介绍了基于CIN-SCF中间件的自主压力测试平台在设计与实现时所涉及的背景知识和相关技术,主要包括四个部分:压力测试介绍、测试工具LoadRunner介绍、ODBC介绍和CIN-SCF中间件介绍。2.1 压
21、力测试自主压力测试平台主要对被测系统进行压力测试,做好压力测试平台的设计,首先需要了解压力测试的概念与内容,从而可以明确测试平台的功能,设计时候需要关注的重点。122.12.1.1 压力测试的概念在软件的测试工作中,压力测试是非常重要的一项测试,压力测试是对软件基本质量的保证1。一般来说,压力测试采用的手段是,通过向被测系统发送逐渐增加的模拟请求,观察被测系统资源(CPU使用率、内存使用率)的变化情况以及请求处理的时延等情况,来衡量被测系统所能提供的最大服务级别。换言之,压力测试是采用并发的手段,增加系统负载直至其失效,得到被测系统的一系列指标,从而得到系统的最大处理能力。压力测试的意义在于,
22、通过模模拟真实的使用环境,并通过逐渐增加的请求,得到系统在不同压力情况下的效率状况,然后进行针对行的测试分析,从而找到影响系统性能的关键因素,并对系统进行优化处理,以达到提高系统的处理能力的目的。2.1.2 压力测试内容的确定根据压力测试的概念的介绍,我们可以得出压力测试要求测试工具可以通过产生一定量请求或请求的组合,并发的向被测系统发起请求,并能够实时地接收并记录被测系统的运行状态以及请求的结果,在测试结束后提供测试报告,以判断被测系统的性能指标是否符合预期要求2。通常来说,压力测试需要包含:容量测试、强度测试、稳定性测试和可扩展性测试这四个主要部分。1) 容量测试。检查被测系统能在指定并发
23、请求下正常工作。要求压力测试通过模拟用户指定容量下的请求,对被测系统施加压力,并对被测系统的各项性能指标进行监测,当压力负载逐渐增加至指定最高负载时,记录被测系统各项性能指标和系统资源占用的变化情况查看是否符合预期要求3。2) 强度测试。即测试系统的最大负荷能力4。要求测试工具能够模拟一定强度下的请求,并逐渐增大模拟请求的强度,直至出现处理速度过慢或被测系统不能正常工作的情况,以得到使得被测系统出现问题达到压力负载。3) 稳定性测试。检查被测试系统能否长时间地可靠运行5。要求测试可以以动态变化的压力值向被测系统发送一定请求或请求的组合,并持续一个较长的时间,以检查被测系统在一定强度下是否能够连
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自主 压力 测试 平台 设计 实现 403

链接地址:https://www.31ppt.com/p-1927018.html