




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学硕士毕业论文 摘要 随着计算机网络技术的迅速发展,w e b 正以其广泛性、交互性、快捷性和 易用性等特点迅速风靡全球,并且已经渗入到社会的各个应用领域。在市场需 求的推动下,w 曲应用软件的规模不断扩大,系统软件复杂性增加,如何保证 w e b 应用的正确性和可靠性越来越成为人们关注的问题。作为保证软件质量和 可靠性的重要手段,w 曲测试已成为w e b 软件开发过程中的一个重要环节。 与传统的软件相比,w e b 应用软件具有许多自身的特点。目前,国内外研 究机构已经对w e b 应用软件的性能测试进行了大量研究,提出了一些性能测试 方法,并开发了许多测试工具。但是一些理论上较为成熟的测试模型由于其实 现的复杂性而没有完全被应用于性能测试工具的开发中同时功能较好的支持 w e b 性能测试的测试工具大多价格昂贵,一些开源代码的工具则存在局限性。 因此,自主研发具有开放的体系结构,提供扩充和升级接口的w e b 应用性能自 动化测试工具,具有重要的现实意义和实用价值。 作者首先进行了一次应用于实际的w e b 性能测试。在测试的过程中,发现 了当前工具m i c r o s o rw a s 的局限性。 然后针对w e b 性能测试的不足以及现代w e b 应用系统对性能测试的新需 求,在e s u r g e 模型的基础上设计了一种基于m u l t i a g e n t 的性能测试框架。 同时课题结合当前流行的系统架构技术,在基于m u l t i a g e n t 的性能测试框 架思想基础上,设计和开发了一个实际的w e b 性能测试工具w 曲l o a d 。并介 绍了该系统工具的总体功能结构,给出了各部分子系统的功能和具体实现方法。 本文旨在w e b 性能测试方面进行理论上的基础学术性研究,同时也在具体 的实用性方面做出进一步的探索。 关键字:软件测试,w e b 测试,性能测试 武汉理工大学硕士毕业论文 a b s t r a c t w i mt h er a p i dd e v e l o p m e n to fc o m p u t e rn e t w o r kt e c h n i q u e ,w 曲i sb e c o m i n g f a s h i o n a b l ea l lo v e rt h ew o r l db l 蓖a u s eo fi t su n i v e r s a l i t y , i n t e r a c t i o n , s p e e d i n e s sa n d c o n v e n i e n t , a n dh a v eu s e di nv a r i o u sa p p l i c a t i o na r e a p r o m o t e db ym a r k e t i n g r e q u i r e m e n t , t h es c a l eo fw e ba p p l i c a t i o nk e e p so ne x t e n d i n g , a n di t sc o m p l e x i t y i n c r e a s i n g h o wt oe 1 s u r et h ec o r r e c t n e s sa n dr e l i a b i l i t yo fw e ba p p l i c a t i o nb e c o m e s m o f oa n dm o r ea na t t e n t i v ep r o b l e m a sa ni m p o r t a n tm e a n so fa s s u r i n gt h eq u a l i t y a n dr e l i a b i l i t yo fs o f t w a r e ,w r e bt e s t i n gb e c o m e sa l li m p o r t a n tc h a i no fs o f t w a r e d e v e l o p m e n tp r o c e s s a tp r e s e n t , t h ed o m e s t i ca n df o r e i 印d e v e l o p m e n tf a c i l i t i e sh a v ec o n d u c t e d m a s s i v er e s e a r c h e so nt h ew e ba p p l i c a t i o ns o f t w a r ep e r f o r m a n c et e s t i n g , p r o p o s e d s o m ep e r f o r m a n c et e s t i n gm o d e l s ,a n dd e v e l o p e dm a n yt e s t i n gt o o l s b e c a u s et h e c o m p l e x i t yo fr e a l i z a t i o n , s o m et h e o r e t i c a l l ym a t u r e dt e s tm o d e l sa r en o ts u i t a b l ef o r t h ep e r f o r m a n c et e s t i n gt o o ld e v e l o p m e n t m e a n w h i l e , m o s tw e l ld e v e l o p e dw e b p e r e o r m a n c et e s t i n gt o o l sa r ee x p e n s i v e ,s o m eo p e ns o u r c ec o d et o o l sh a v et h e i ro w n l i m i t s t h e r e f o r e ,t h e r e s e a r c ha n d d e v e l o p m e n to ft o o l f o rw 曲a p p l i c a t i o n p e r f o r m a n c et e s t i n gw h i c hh a so p e na r c h i t e c t u r ea n dp r o v i d e se x p a n d e di n t e r f a c e sa r e p r a c t i c a la n di m p o r t a n t f i r s to fa u ,t h ea u t h o rc o n d u c t e da na c t u a lw e ba p p l i c a t i o np e r f o r m a n c et e s t i n g i nt h ep r o c e s so f t e s t i n g , t h ea u t h o rf o u n dt h el i m i t a t i o n so ft h ec u r r e n tt e s tt o o l m i c r o s o f tw 缸 s e c o n d ,f o rt h el a c ko f w 曲p e r f o r m a n c et e s t i n g , 丛w e l la st h en e wd e m a n do f m o d e m w 曲a p p l i c a t i o np e r f o r m a n c et e s t i n g ,t h ea u t h o rp r e s e n t saf r a m e w o r kf o rt h e p e r f o r m a n c et e s tb a s e do nm u l t i a g e n t t l l i r d ,c o m b i n e dw i t ht h ec u r r e n te p i d e m i cs y s t e mf r a m e w o r kt e c h n o l o g y , a t y p eo fp r a c t i c a lw e bp e r f o r m a n c et e s t i n gt o o lw e b l 0 a di sd e s i g n e da n dd e v e l o p e d b a s e do nt h em u l t i a g e n tt e s t i n gf r a m e w o r k t i l i sp a p e ri n t r o d u c e st h eo v e r a l l i i 武汉理工大学硕士毕业论文 f u n c t i o ns t r u c t u r eo ft h es y s t e ma n dg i v e st h ef u n c t i o no ft h ec o m p o n e n ts u b s y s t e m s a n dt h ec o n c r e t er e a l i z a t i o nm e t h o d t h i s p a p e ra i m st o r e s e a r c ht h e o r e t i c a l l yo nt h eb a s i ca c a d e m i co fw e b p e r f o r m a n c et e s t i n ga n dm a k e s f u r t h e re x p l o r a t i o ni nt h es p e c i f i cp r a c t i c a la n :鹤 k e yw o r d s :s o f t w a r et e s t i n g , w e bt e s t i n g , p e r f o r m a n c et e s t i n g i i i 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 签名:垒盟日期: 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即学校有权 保留、送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部 或部分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:导师签名日期: 武汉理工大学硕士毕业论文 1 1 研究背景 第1 章绪论 随着网络新技术的不断出现,网络新业务的不断开展,对网络的服务性能 要求越来越高。同时,随着网络规模的进一步扩大,保持网络高性能运转变得 越来越困难。因此对w e b 软件性能的测试和评价越来越受到人们的重视。 软件性能【l 】是指软件系统对于其及时性目标的符合程度,是软件系统最重要 的质量属性之一。性能一般用响应时间和吞吐量指标进行衡量。 响应时间【2 】作为用户视角的软件性能指标的主要体现,一般可以分为“显示 时间”和“系统响应时问一两个部分。其中“显示时间”是指客户端发出请求 到接收到最后一个字节所消耗的时间。在一般的性能测试中,可以忽略“显示 时间 ,因为这个时间取决于客户端的机器性能,并不能说明软件整体性能。 吞吐量【3 】可以具体的定义为“单位时间内系统处理的客户请求的数量 ,它 直接体现了软件系统的信息处理的能力。一般来说,常用的请求数秒或字节数 秒来衡量。吞吐量指标可用于协助判断设计及衡量性能场景是否达到预期的设 计目标,并可用于协助分析性能瓶颈。 性能是每个软件系统的基本质量属性。但是还是有很多软件系统,由于在 最初实现时没有很好地考虑到性能目标,而导致系统最终无法使用。 为了避免由于性能原因导致软件失败,必须在软件系统部署给用户之前就 对其进行仔细和精确的性能测试。 与传统的应用软件相比,w e b 系统【4 】有其独特的地方: ( 1 ) 网络型 s l :w e b 系统运行在网络上,服务不同的客户群体的需求。它 可以部署在局域网实现组织范围内的通信,也可以部署在因特网,实现全球通 信。 ( 2 ) 并发性:在同一时间可能有大量的用户同时使用w e b 系统。很多情况 下,用户最终的使用模式存在很大的差异。 ( 3 ) 轻客户端:w e b 系统的客户端都是基本符合标准的w e b 系统的,用户 可以是任何可以访问该系统的浏览器客户端,其并发访问数有可能非常巨大, 因此要求其拥有很强的并发事务处理能力。假设浏览一个w e b 系统的内容需要 武汉理工大学硕士毕业论文 好几分钟,而浏览竞争对手的w e b 系统相似的内容只需要几秒钟,不言而喻, 用户的选择会是如何。 为了对w e b 系统性能进行深入的测试,需要良好的w e b 系统性能测试【6 】系 统,依据测试来获得w e b 系统性能指标,从而描述w 曲系统性能。w e b 系统性 能测试是探讨网络行为和运行规律的基础。 对w e b 系统进行性能测试,不仅对建设成功、高效的商务网站起到了重要 的作用,而且还可以提高网站建设的成功率;提示w e b 系统性能是否达到预期, 为保障投资者的利益提供了有力的途径。而且对网站提高服务的可靠性提供了 有效的建议,有利于网站的长期发展。 1 2 研究目的及意义 w e b 系统的模式已经由开始的简单的w e b 内容【7 】提供,走上复杂的电子商 务模式,即典型的w e b 服务,这必然导致用户的使用模式发生巨大的变化。这 些站点的负载特性更多的突显出人性化的特征,而不是单一的网络流量特征。 而w e b 服务供应商更多的是关心网站的整体性能,而不是单一流量或者单一的 页面请求的数据。w e b 系统的结构发生了如此大的变化,给其性能测试提供了 新的挑战。 软件性能测试是指通过模拟生产运行的工作负载,测试待测的软件系统的 性能是否符合生产环境下使用的性能目标。 一般来说主要包括如下测试类型8 l : ( 1 ) 负载测试:主要用于描述常规的性能测试,通过模拟生产运行的业务 压力和使用场景组合来测试系统的性能是否满足生产要求。通俗的来说,这种 测试方法就是要在特定的运行条件下验证系统的能力状况。 ( 2 ) 压力测试【9 】:对系统不断施加压力的测试,是通过确定一个系统的瓶 颈或者不能接收用户请求的性能点,来获得系统能提供的最大的服务级别的测 试。通俗的讲,压力测试是为了发现在什么条件下应用程序的性能会变得不可 接受。 ( 3 ) 疲劳强度测试:通常采用系统稳定运行情况下能够支持的最大并发用 户数,持续模拟执行一段时间业务处理。它通过综合分析性能指标来确定系统 处理最大工作量强度性能的过程。 一般来说,可以使用不同的方式进行上述类型的性能测试: 手工方式:通过大规模的真实用户同时使用待测软件系统来测试系统正式 2 武汉理工大学硕士毕业论文 运行时的性能。这种方式能够很好地模拟待测系统业务运行的情况,因此测试 结果相当准确。但是由于其耗费巨大,而且测试结果难以重现,因此一般不被 采用。 自动方式:使用性能测试软件模拟大规模的真实用户同时使用待测系统的 场景,检测待测系统的性能。这种方式不仅非常经济,而且能够重现性能问题, 以检验修改后的软件是否解决了相应的性能瓶颈,因此现在所有的性能测试几 乎都采用这种方式进行。他的缺点主要是难以准确地模拟待测系统真实的使用 情况,因此测试结果未必准确。 混合方式:使用性能测试软件对易于模拟的软件业务操作行为进行模拟, 而采用一定规模的真实用户处理复杂的难以模拟的业务操作行为,从而达到较 为准确的测试结果。这种方式虽然结合了手工方式和自动方式的各自优点,但 是由于进行相应测试的复杂性提高,因此一般不被采用。 一般软件的性能测试的方法当然也适用于w e b 系统性能测试,但是由于w 曲 系统自身的特点,必须采用更有效和针对性更强的方法对其进行测试。 w e b 系统之所以开发效率高,易维护,易扩展,主要得益于组件化的分层 体系结构,然而,这些所谓的优点也会给w e b 系统自身带来潜在的性能缺陷, 成为性能瓶颈的根本原因。这其中很多因素都对w e b 系统的响应时间产生影响。 w e b 系统使用h 1 t p 协议【i o 】并采用请求应答方式进行工作。 其基本通信方式是:客户端首先发出唧请求,然后w e b 服务器发出h 1 限 响应。w e b 系统的常用性能指标就是基于请求厂应答这一基本概念【l l 】: 应答延迟( r e s p o n s ed e l a y ) :一个请求从建立网络连接到应答结束撤销连接 之间的时间。在不同的时刻对不同的请求一般不相同。 平均应答延迟( m e a nr e s p o n s ed e l a y ) :大量请求( 通常指一个测试过程中 的所有请求) 的应答延迟的平均值。一般来说性能测试更侧重于评价w e b 系统 的平均性能。 吞吐率( r e s p o n s ep e rs e c o n d ) :非空闲状态下,系统在单位时间内响应的请 求个数。所谓非空闲状态,是指在计算机吞吐率时只考虑系统负载不为零的时 间段。 系统容量( s y s t e mc a p a c i t y ) :非空闲状态下,系统单位时间内能够响应的 最大请求数,即为上述吞吐率的最大值。这是评价w e b 系统性能的一个重要指 标。对特定的w e b 系统而言,其系统容量一般是一个固定值,由服务器的软、 硬件配置和运转情况所决定。 3 武汉理工大学硕士毕业论文 系统带宽( s y s t 锄b a n d w i d t h ) :系统在单位时间内传输的字节数,通常也 称为吞吐量。它侧重于描述系统中与传输有关的组成部分的性能。 最大稳定连接数( m a x i m u ms t a b l ec o n n e c t i o n ) :在性能比较稳定、没有明 显下降的前提下,系统能够支持的最大并发连接数。 针对各种w e b 系统性能的问题,性能测试是验证软件系统是否能够达到用 户提出的性能指标,同时发现软件系统存在的性能,起到优化系统的目的。 目前,国外对w e b 性能测试的研究已经取得了许多成果,提出了一些模型、 方法和策略,并相应开发了测试工具。国内在软件测试方面还没有引起高度重 视,多数测试理论研究和工具仍停留在传统软件的测试方面,因此在研究w e b 性能测试技术有其重要的应用价值和理论价值。 随着应用需求、数据量及处理量的不断增加,人们在注意w 曲应用软件可 使用性的同时,w e b 应用软件的复杂性也逐渐提高,因此,在提高w e b 应用软 件复杂性的同时,开展测量和评估w e b 应用软件性能和可靠性的测试方法研究, 也成为w e b 应用软件技术研究的一个重要方面。 1 3 国内外研究现状 对于w e b 性能以及w e b 应用的性能测试的研究主要在国外,近几年,随着 服务性能测试需求市场的不断扩大,越来越多的商业公司和研发组织都投入到 服务性能自动测试工具的研究与开发中,并不断根据w e b 技术的新发展,向市 场推出了比较成熟的自动化测试工具,例如:w e b s t o n e t l 2 j , s p e c w e b 9 9 ,o p e n s t a , l o a d r u n n e r t l 3 】【1 4 】等。这些测试工具是多种多样的,从不同 的角度可以分成不同的种类,从测试的目的来看可以分为基准测试类和非基准 测试类【l 习;从获取模型的手段来看可以分为数学分析类,记录回放类,挖掘日 志类等。其中非基准测试工具模型种类比较多,生成模型的方法也不一样【1 6 1 。 在国内,与软件在各行各业的广泛应用所带动的软件工业快速发展相比, 软件测试技术的发展水平还处于一个“瓶颈的地位,在自动化测试工具的研 究与开发方面就更显薄弱了,主要是对一些现有的测试工具进行应用和研究。 在w e b 性能方面,中国科学院的马琳等人对w e b 性能的测试,设计出一种 推理预测算法,能够对系统的性能进行有效的预测;清华大学的时培植、李三 立对负载均衡程度进行量化的算法,并实现了一个面向w e b 的性能评价工具。 在w e b 服务器性能测试方面,北京大学的欧灿辉、李晓明通过对网络负载的特 点的研究,实现了w e b b e n c h 服务器评测系统;吉林大学的张广艳、郑名扬等提 4 武汉理工大学硕士毕业论文 出对w e b 服务器性能评测工具;中国科学院席静等人针对影响w e b 服务器性能 的关键问题,有效提高了w e b 服务器的性能。 从国内对w e b 测试的研究论文来看,论文数量较少且大都集中于将常规软 件的测试技术应用到w e b 应用的测试过程中,这或许与国内w r e b 应用的发展状 况有密切的联系。国内w e b 应用水平不高,这在很大程度上影响着w 曲应用测 试的研究。相信随着国内w 曲应用的发展,会有更多的人关注w e b 应用的测试。 1 4 研究的主要内容 影响w e b 性能指标的因素很多,从w 曲系统的性能看,用户数、用户类型、 用户行为、浏览器提交的速度、公共网络延迟等都是影响系统性能的重要因素。 因此w e b 系统的性能不仅仅是由w e b 系统本身所决定的,其性能与用户使用该 系统的方式也有很大的关系。不过w 曲服务器作为处理用户请求的主要模块, 是w e b 系统性能的主要影响因素,其系统容量的大小一般决定了整个系统的性 能。因此w e b 系统性能测试主要是模拟预期的系统使用方式对待侧的w e b 服务 器进行测试。 在跟踪国内外性能测试最新理论和技术,研究国内外已有测试工具的基础 上,根据w e b 应用的特点,以某网站为例给出一个完整的性能测试全过程,并 根据测试的结果和公司实际需求开发了针对w e b 服务器的性能测试工具 w 曲l o a d 。 具体内容如下: 第一部分:研究当前主流的w e b 系统性能测试理论和技术。以e n t s i n a 网站 为例给出一个完整的性能测试的整体流程,并分析测试数据得出测试结论。 第二部分:针对w e b 性能测试的不足以及现代w e b 应用系统对性能测试 的新需求,在e s u r g e 模型的基础上设计了一种基于m u l t i a g e n t 的性能测试 框架。 第三部分:基于m u l t i - a g e n t 的性能测试框架的理论基础,研究和实现一个 w 曲性能测试客户端工具w e b l o a d 。 最后,是课题的结论和展望,分析本课题存在的不足,提出有待改进的地 方,对未来研究方向进行了展望。 5 武汉理工大学硕士毕业论文 第2 章w e b 性能测试研究 本章首先在研究了w e b 系统性能测试目前主流的几种方法,分析了w e b 性 能测试的难点,提出了相应的解决办法。然后以虚拟用户方法为基础,并以作 者所实习的企业网站为例进行了一次性能测试。 2 1w 曲系统性能测试方法研究 目前已经出现了多种w e b 性能测试方法。具有代表性的主要方法 17 】有:虚 拟用户方法、w u s 方法和s p e 方法。 2 1 1 虚拟用户方法 虚拟用户方法【1 3 】通过模拟真实用户的行为来对待测系统施加预期工作负 载,以测量待测系统的性能,如事务的响应时间、服务器的吞吐量等。它以真 实用户平时生产环境下的“事务处理 ( 用户为完成一个商业业务而执行的一系 列操作) 作为负载的基本组成单位,用“虚拟用户一( 模拟用户行为的测试脚本) 来模拟真实用户。工作负载的信息( 例如并发虚拟用户数、商务处理的执行频 率等) 通过人工收集和分析系统的特征来获得。 支持该方法的性能测试工具可用较少的硬件资源模拟出成百上千虚拟用户 同时访问待测系统,并可模拟来自不同m 地址、不同浏览器类型以及不同网络 连接方式的请求,同时可实时监控系统性能指标,帮助测试人员分析测试结果。 该方法易于实现和便于操作,已经为绝大多数主流的w e b 系统性能测试工具所 采用,在实践中被证明是相当有效的。 这种方法最大的不足在于需要测试人员有相当高的专业技能,需要根据预 期工作负载设计准确的测试场景,以较好地模拟工作负载进行测试。 2 1 2 、砌s 方法 基于“网站使用签名”( w e b s i t eu s a g es i g n a t u r e ,w u s ) 的概念【1 9 】来设计测 试场景,强调建立真实的负载。w u s 的提出是为了衡量测试负载和真实负载之 6 武汉理工大学硕士毕业论文 间的接近程度,它是一系列能全面刻画负载的参数和测量指标的集合,包括每 小时浏览的页面、平均访问持续时间、每次访问平均浏览的页面以及页面请求 分布等。这些参数可以从日志文件中得到。参数同时也包括一些影响负载的客 户端变量,如用户对网站的熟悉程度、对延迟的忍耐程度和客户端连接速度等。 w u s 方法需要w e b 系统的运行日志,也就是说w r e b 系统正常运作段时 间后才能进行测试。虽然它可以更好地模拟正常运行的工作负载,但它违背了 在系统正常运行之前就需要充分测试的原则,因此基本上没有主流的实用性能 工具采用这种方法。不过它强调模拟工作负载的重要性是现有性能测试方法都 认同的。 此外,采用类似的w e b 系统的日志信息来模拟待测的w e b 系统工作负载方 法,理论上也是可行的,只不过这个条件在现实测试环境中是非常苛刻的,基 本上难以实现。 2 1 3s p e 方法 s p e e 2 0 ( s o f t w a r ep e r f o r m a n c ee n g i n e e r i n g ,软件性能工程) 方法是一种控制 性能的综合方法,是由美国学者c o n n i eu s m i t h 等人提出的面向软件开发的一 种性能测试方法。它是一种系统的、定量的方法,用于构建能够符合预期性能 目标的软件系统。它基于一般软件基础,也可以应用于w e b 系统的性能评估和 测试。它是关于性能的一种工程方法,避免了性能驱动的开发和“以后修正捧 方法的两种极端。 s p e 方法通过模型来预测和评估软件功能、硬件规模、质量结果和资源需求 之间的平衡点。他的核心内容是建模,以系统模型为基础,通过建立抽象而准 确的软件处理过程模型,判定目标软件是否能够满足性能目标。随着软件开发 过程的推进,对模型进行持续的细化,使其更加精确地反映正在开发的软件的 系统特征,并重新进行性能测试和评估。 s p e 方法可以说是白盒方式的w e b 系统性能测试论的代表,它把性能测试 纳入了工程的范畴,侧重于软件开发的时候就进行相应的系统性能检测和评估, 避免在软件系统开发完成后,由于性能问题重新设计和开发。 7 武汉理工大学硕士毕业论文 2 2 性能测试实验 此次性能测试针对的是笔者所在实习企业旗下的网站e n t s i n a c o m c i l 。测试 目的是找出当前线上网站的单一性能指标( 带宽) 是否存在性能瓶颈,如存在 则从硬件上进行改进,以符合新的应用需求。该测试是纯粹商业目的的测试, 讲求效益,且涉及到商业利益,故网站的架构及性能结果分析方面在此有所保 留。 2 2 1 网站架构分析 网站整体结构如图2 1 所示 m d b 图2 1 网站结构框图 数据库系统 通过将数据缓存在不同服务、缓存中,这样用户访问时,数据是从缓存中 得到,而不是从数据库直接读取,所以用户访问不会对数据库造成压力。而缓 存中的数据是由数据库定期写入缓存的。 3 武汉理工大学硕士毕业论文 缓存系统 1 ) m e m c a c h e d 缓存服务 m e m c a c h e d 是一个高性能的分布式内存对象缓存系统,用于动态w e b 应用以减轻数据库访问压力。它通过在内存中缓存数据和对象来减少读取 数据库的次数,从而提高网站的访问速度。m e m c a c h e d 基于一个存储键值 对的h a s h m a p 。其守护进程( d a e m o n ) 是用c 写的,但是客户端可以用任 何语言来编写,并通过m e m c a c h e d 协议与守护进程通信。但是它并不提供 冗余( 例如,复制其h a s h m a p 条目) ;当某个服务器例如s 停止运行或崩溃 了,所有存放在s 上的键值对都将丢失。 为了减少数据库的压力,将数据库中的数据放到m e m c a c h e d 缓存起来。当前 台访问需要读取相应数据的时候,先从m e m c a c h e d 中寻找是否存在对应的k e y 关键字,如果没有则从后台数据库中读取数据后存放在m e m c a c h e d 中,方便下 次读取。所以用户的数据读取只与m e m c a c h e d 直接相关。 2 ) r e m o t ef i l e 文件服务 简而言之,我们可以将r e m o t e 看作是一种分布式处理方式。在r e m o t e 中是通过通道( c h a n n e l ) 来实现两个应用程序域之间对象的通信的。首先, 客户端通过r e m o t e ,访问通道以获得服务端对象,再通过代理解析为客户 端对象。这就提供一种可能性,即以服务的方式来发布服务器对象。远程 对象代码可以运行在服务器上( 如服务器激活的对象和客户端激活的对 象) ,然后客户端再通过r e m o t e 连接服务器,获得该服务对象并通过序列 化在客户端运行。 在r e m o t e 中,对于要传递的对象,设计者除了需要了解通道的类型和 端口号之外,无需再了解数据包的格式。但必须注意的是,客户端在获取 服务器端对象时,并不是获得实际的服务端对象,而是获得它的引用。这 既保证了客户端和服务器端有关对象的松散耦合,同时也优化了通信的性 能。 r e m o t ef i l e 使用r e m o t e 实现文件的分布式存放,通过r e m o t e 可以方便的 实现文件的上传、下载。 3 ) s e a r c h 查询服务 该算法主要用于提高查询速度,涉及到公司利益,故在此不详述。 9 武汉理工大学硕士毕业论文 2 2 2 测试环境搭建 测试环境力求与线上w e b 系统近似,但由于硬件局限,所以只能在两台测 试机上架设w e b 系统【2 1 1 。 网络环境:公司内部网( 千兆) w e b 系统:q a s e r v e r r e m o t ef i l es y s t e ms e r v i c e ( 远程文件系统服务) :q a s e r v e r m e m c a c h e ds e r v e r ( 缓存系统) :q a s e r v e r s e a r c h ( 查询服务) :l a b s e r v e r d b ( 数据库) :l a b s e r v e r 2 2 3 测试工具选取 m i c r o s o f tw 曲a p p l i c a t i o ns t r e s st o o l 2 2 1 1 2 3 1 ( 下简称w a s ) 是由微软的网站 测试人员所开发,专门用来进行实际网站压力测试的一套工具。虽然不能与工 业标准级负载测试工具l o a d r u n n e r 相比。但是l o a d r u n n e r 高昂的价格,并不 适合中小企业开发者,而w a s 在具备基本的功能模块的同时,它更是一款免费 软件,所以选用它来进行一般性能测试是再合适不过的了。 2 2 4 测试架构 本次性能测试实验的工具w a s 是基于虚拟用户方法理论的。测试架构如图 2 - 2 所示。 虚拟用户生成 通过录制真实用户的业务操作行为生成测试用例脚本,录制的技术主要是 通过p r o x y l 2 4 】的方式实现。其实质是通过截获客户端和w 曲服务器之间的通讯 包,分析其中的h t t p 2 5 】协议,反向解析生成具有相同功能的目标脚本,然后再 把通信包转发给目标w e b 服务器。因为通信包解析的复杂性,有时候解析得到 的脚本不一定能够正常使用,需要做一定的修改后才能用于测试。 控制器 建立起测试用例脚本后,通过控制器设定测试的负载模拟方案( 包括业务 流程如何组合和虚拟用户数量等) ,并通过控制负载生成器,来实现这个方案。 1 0 武汉理工大学硕士毕业论文 虚拟用户生成 性能结果分析 图2 2 测试架构图 在测试的工程中,监控相应的性能指标,并记录在相应日志文件中,以供性能 结果分析器分析。通过控制负载生成器执行测试用例脚本的方法基本上有两种 r a m p - u p 2 6 1 方式和f i “2 7 1 方式。 ( 1 ) r a m p - u p 方式:该执行方式是测试人员在一定的启动时间( r a m p - u p p e r i o d ) 内依照一定的规律生成指定数量的用户。这种方式能够大致地模拟现实 生活中用户群开始使用系统的场景,测试得到的性能结果能够比较真实地反映 系统的性能。不过这种方式的使用需要测试人员在启动时间内依照待测的w e b 系统的实际情况,按照一定的规律生成用户,而这一操作并不容易。 首先,启动时间一般不能设置太小,因为这样会导致在测试的开始就建立 大部分的虚拟用户和访问请求,不符合实际的预期工作负载,从而使服务器过 度加载,不能反映整个系统业务运作的实际性能。同样的,过大的启动时间也 武汉理工大学硕士毕业论文 是不恰当的,因为这会降低访问峰值的负载,换句话说,在一些线程还未启动 时,初期启动的部分线程可能已经结束了。因此,般来说需要确定一个合理 的启动时间规则,让初始点击率接近平均点击率。而平均点击率只能根据调查 和经验大致估计。 ( 2 ) f l a t 方式:事实上,就是启动时间设置为0 时的特别的r a m p - u p 方式, 不过由于其可以准确地测试待测系统的某一点上准确的最大承载量,可以估算 和确认待测系统的性能瓶颈,因此是一般r a m p - u p 方式的有效补充。 负载生成器 生成多个进程或线程【2 8 1 ,并让这些进程或线程执行相应的测试用例脚本, 以虚拟用户的方式向待测系统的w e b 服务器施加压力。进程或线程的生成模式 和执行方式都受到控制器的控制,并在执行过程中,把相应的性能指标数据传 给控制器。一般来说,一台独立的客户机可以作为一台负载生成器,生成若干 个虚拟用户。因此可以通过多台客户机生成成千上万虚拟用户,很好地模拟真 实环境下的大容量工作负载的使用场景。 性能结果分析器 该工具事实上是一个相对独立的数据分析程序【2 9 1 。它的主要功能是对指定 的性能数据进行分析,绘制和建立相应的图表和表格,帮助测试人员分析性能 测试结果。 2 2 5 测试过程 1 ) 录制脚本 ( 1 ) 第一次运行w a s 时,会看到一个c r e a t en e ws c r i p t 的对话框( 如图2 3 ) , 询问创建一个新的测试脚本的方式。 ( 2 ) 点r e c o r d 按钮。如果之前选择了d o n td i s p l a ya ts t a r t u p ,c r e a t en e w s c r i p t 将不会显示出来。也可以在s c r i p t 菜单选择r e c o r d 然后c r e a t e 。 ( 3 ) 在b r o w s e rr e c o r d e r s t e plo f 2 对话框,被要求指定一些记录设置。 在这里,清除所有的选择框点n e x t 继续。 ( 4 ) 在b r o w s e rr e c o r d e r s t e p2o f 2 对话框,点f i l l i s h 。一个新的i e 窗 口会出现以便记录浏览器活动,同时w a s 会被置于记录模式。 1 2 武汉理工大学硕士毕业论文 哆i 煞紫。 劐腻黑。 j 曼u 麓e 苎i 。j 拳;邕。 固c 鲨a t “簧t 警警 图2 - 3 c r e a t en e ws c n p t 的对话框 ( 4 ) 在新出现的i e 窗口的地址栏,输入目的站点的地址。在w a s 的窗口 将看到h 订p 信息在跟随浏览活动而实时改变着。 ( 5 ) 当完成了站点浏览后,转回w a s 窗口,还处于记录状态,点s t o p r e c o r d i n g 按钮。就会终止记录并产生一个新的测试脚本。如图2 _ 4 所示。 h 图2 - 4 测试脚本 2 ) 控制器设置 如图2 - 5 所示。 s t r e s sl e v e l 一般默认选择1 。 s t r e s sm u l t i p l e r 代表虚拟用户并发数,此处设为1 0 0 。 t e s tr u n t i m e 测试时时问,此处设为5 分钟。 r e q u e s t d e l a y ( 单位毫秒) 请求延迟时问,设为1 0 0 0 。 w a r mu p3 0 s 如前所述r a m p u p 方式 c o o ld o w l it i m e :3 0 s 其中w a r mu pc o o ld o w n 时间不计入测试结果 武汉理工大学硕士毕业论文 c o n c 盯t nc o n c t 一 s t r e s sl e v e l ( t h r e t d s ) :n 5 p e s ! d t - ,1 - r ( s o “- t zp ”广面 t t t h i i a * 一 d “广可l l r s :厂百- m 广_ 芎s 一厂1 i t e q a e s td d ( i nl i l l ts e e o l n d s ) 舻如b - d e l 町m i n :r 百_ 缸r i 面 s q n d一- f q l i t s t 广可- u r 百s e e :厂面 c o o l d : # 厂可_ 1 厂百s e e :广面 b 蛆h l t l l 一 图2 - 5 控制器设置 3 ) 测试结果 ( 1 ) w a s3 0 0 到6 0 0 个并发( 测试时间0 8 0 7 2 8 ) 如表2 1 所示。 w a s 记录接收流量c l i n t 带宽0 s e 目带 q a s c ho p u l a b s e r v 日c d ” 用半( ) 宽( m b p s ) | 用半( ) 占用率( ) 表2 - 1 分析: 随着并发数增加,各项性能指标呈线性增长如l 。但是w a s 记录的流量,按 每个页面2 0 0 k b 来计算的话,返回的页面个数与并发数之间存在很大差异。十 是就要参考服务器q a s e r v e r 的i i sl o g 记录 ( 2 ) w a s7 0 0 个并发( 把i i sl o g 作为参考指标) ( 测试时间0 8 - 0 7 - 2 9 ) 如表 2 - 2 所示。 = s l s r 薯撤山 m 曩【l 嚣铲 武汉理工大学硕士毕业论文 i i s c l i e n t w a s 流量推 w a s 并测试时l o g 计算 c l i e n t c p u q a s d v e rq a s e r v e r l a b s t z v e r 算下载贞面个数 发数间 每秒页面 带 宽 占用带 宽 c p u 占用c p u 占用率 ( m b p s ) 塞 ( m b p s ) 率( ) ( ) ( 每秒) 按一个 请求个数_ 贞面2 0 0 k b 测算 ( ) 7 0 0l l :1 0 3 8 06 55 57 06 043 9 7 0 01 6 :2 04 2 87 07 07 08 063 8 7 0 01 6 :5 54 3 67 37 57 59 053 8 7 1 8 :0 63 4 75 56 0 5 58 043 0 表2 - 2 分析: 乱为了验证数据的可靠性,在q a 上用d u m e t e r 测了q a 带宽,也用抓包 工具验证s e r v e r 端是否发回数据。根据比较,w a s 上的接收和发送带宽跟 d u m e t e r 的测试的结果相符合,所以w a s 上的带宽数据可信。 b 编写了一个p y t h o n 脚本来分析i i sl o g ,计算每次测试时发送返回的页面 请求个数,发现请求页面个数,跟返回的数据量比较( 一个页面按2 0 0 k b 计算) , 如果这些页面都返回成功,那么返回的数据量早已超过带宽的最大值1 0 0 m b p s 不合常理。 c 利用e t h e r e a l 抓包工具,把测试过程的抓包与正常访问的抓包数据比较, 发现s e r v e r 的确有数据包发回到c l i e n t 端,但是与正常访问相比,数据包明显 少很多,推断w a s 的确获得了s e r v e r 发回的数据包,但是不是全部的数据包, 可能只有一部分,推断w a s 的运行机制就是如此,需要进一步验证。 ( 3 ) w a s8 0 0 - - 1 0 0 0 个并发( 测试时间0 8 0 7 3 0 ) 如表2 3 所示。 分析: a 目前测试环境下,服务器在8 0 0 个并发的时候,带宽达到极值( 从任务 管理器上显示是一个震荡的波形,振幅逐渐减小,最后趋近此时的平均带宽值) b 并发9 0 0 和1 0 0 0 的测试结果与并发8 0 0 相比较基本没有变化。 c 在q a s e r v e r 的c p u 达到9 8 时,用测试机以外的客户端访问网站,会 明显的有1 、2 秒延迟。 1 5 武汉理工大学硕士毕业论文 w a s 流 w a s 并测试时 i i s l o g i i s l o gq a s e r v e r q a s e r v e r a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 核子仪器伦理与社会责任考核试卷
- 《农产品的质量检测》课件
- 装饰材料企业品牌形象塑造考核试卷
- 《农村家禽饲养技术》课件
- 学校安全教育主要内容
- 纺织品的智能生产成本控制考核试卷
- 毛皮服装生产设备选型与采购考核试卷
- 燃气热水器安装与调试考核试卷
- 核电工程施工过程中的质量控制点管理考核试卷
- 建筑造型设计原理
- 辽宁省点石联考2025届高三下学期5月联合考试 地理 含答案
- 2025-2030年中国肿瘤医院行业市场发展现状分析及未来趋势预测研究报告
- 2024年中南大学专职辅导员招聘笔试真题
- 2025-2030中国财务公司行业深度分析及发展前景与发展战略研究报告
- 2025年人教版小学五年级下册奥林匹克数学竞赛测试题(附参考答案)
- 不分手协议书合同书
- 室内空间设计方案汇报
- 新生儿败血症诊断与治疗专家共识(2024)解读课件
- 调饮技术大赛考试题库400题(含答案)
- 2025年山东青岛东鼎产业发展集团有限公司招聘笔试参考题库含答案解析
- 宠物托运自负协议书范本
评论
0/150
提交评论