(计算机应用技术专业论文)web系统性能测试工具的研究.pdf_第1页
(计算机应用技术专业论文)web系统性能测试工具的研究.pdf_第2页
(计算机应用技术专业论文)web系统性能测试工具的研究.pdf_第3页
(计算机应用技术专业论文)web系统性能测试工具的研究.pdf_第4页
(计算机应用技术专业论文)web系统性能测试工具的研究.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(计算机应用技术专业论文)web系统性能测试工具的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

w e b 系统性能测试工具的研究 w e b 系统性能测试工具的研究 摘要 随着信息技术的飞速发展,基于w e b 的应用迅速风靡全球,并且渗入到社 会的各个领域。但是很多w e b 系统的性能不能满足人们的需要严重地影响了它 地使用和推广,于是对于w 曲系统开发过程中的性能测试提出了迫切的要求。 国内外的研究者对w e b 性能测试展开了很多研究,一些国外公司还开发出 成熟的产品,但是这些产品系统庞大,使用复杂,学习、应用成本相对较高。 正是在这种背景下,本文通过研究和分析w 曲系统性能测试的原理,设计并实 现了一个基于h t f p 协议的简单易用的w e b 性能测试分析软件( w p t a ) ,提出 了测试系统自动给出w e b 性能优化建议的规则。 本文首先对h r r p 协议进行分析,对h t t p 请求和响应的信息的格式,以 及信息中各个头域的作用进行了详细分析,归纳出在w e b 性能测试中,测试数 据的组成结构,包括h t t p 请求信息头域值组成结构,以及h t t p 响应信息的 解析方式,并对影响w e b 系统的性能的主要参数包括响应时间、吞吐量、丢弃 率等作了认真研究。 其次,根据w e b 性能测试的原理,研究和探讨了w e b 性能测试分析系统应 具有的功能模块,包括脚本录制模块、系统测试模块、数据分析模块等。按照 软件工程思想,采用r u p 统一过程开发方法,对系统的各个模块进行了分析, 以面向对象的设计思想,采用纯j a v a 技术,设计和实现了一个功能较为完善、 易用、可控的w e b 性能测试分析工具w p t a 。 内蒙古人学硕l 学位论文 本文利用多线程模拟多用户,采用h r r p 1 1 的带流水的持久连接方式,实 现了多个并发用户对w e b 系统的访问过程。给出了系统在设计实现过程中的关 键算法和技术难点的解决方案。本文采用“黑盒”测试的方式,对得到测试数 据进行统计分析,提出了根据统计学原理进行的数据合理性分析作为辅助分析 手段。 然后,应用w p t a 对个手机销售网站进行- j n 试,并对测试数据的统计 结果进行分析,指出了被测系统性能瓶颈,研究并提出了对系统进行优化的建 议和规则并给出了实现的关键算法。 最后,总结了本文所做的工作以及今后需要完成的工作。 关键词:w e b 。性能测试,性能分析,优化建议,h t t p i i w e b 系统件能测试t 具的研究 t h er e s e a r c h0 nw e bp e r f o r m n c et e s t i n gt o o l s a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fi n f o r m a t i o nt e c n o l o g y , t h ea p p l i c a t i o nb a s e do i l w e bw a sp o p u l a ri nt h ew o r l da n dw a sw i d e l yu s e di nt h ew h o l es o c i e t y h o w e v e r , a s m a n yw e b s i t e sh a v ep o o rp e r f o r m a n c e ,m e yc a nn o tm e e tt h en e e do f t h eu s e r sa n d s e r i o u s l yi n f l u e n c et h eu s ea n dd e v e l o p m e n t t h u sa nu r g e n tn e e dw a s t a k e nt ot e s t t h ep e r f o r m a n c ed u r i n gt h ew e ba p p l i c a t i o nd e v e l o p i n g t h er e s e a r c h e r sd o m e s t i ca n da b r o a dm a k em a n yr e s e a r c h e si nt h ew e b p e r f o r m a n c et e s t i n ga n ds o m ec o m p a n i e s o v e r s e f l sh a v ed e v e l o p e ds o m ep r o d u c t s y e tt h et o o l sa r es oc o m p l e xt ou s ea n dt h el e a m i n go f t h e mi ss oc o s t l y u n d e rt h e a b o v e - m e n t i o n e db a c k g r o u n d s ,t h i st h e s i sp r o p o s e dar e s e a r c ho nt h ed e s i g na n d i m p l e m e n t a t i o no f t h ew e bp e r f o r m a n c et e s ta n da n a l y s i ss y s t e m f i r s to f a l l ,i nt h i st h e s i sia n a l y s et h ed a t ae x c h a n g e so fh t t pp r o t o c o l ,d e d u c e t h ec o m p o s i t o no f t h et e s t i n gd a t ao ft h ew e bp e r f o r m a n c et e s t i n ga n da n a l y s i s s y s t e mb ya n a y l s i n gt h ea r c h i t e c t u r eo f t h er e q u e s ta n dr e s p o n s em e s s a g e s ,a n a l y z i n g t h ee a x a c tp o p o s eo f e v e r yh e a d e ro f t h eh r r p m e s s a g e ,i n c l u d i n gt h ec o m p o s i t i o n o f t h eh 兀p r e q u e s tm e s s a g eh e a d e ra n dt h ep a r s e r i n gm e t h o do f t h eh t t p r e q u e s tm e s s a g e t h e nim a k eas t u d yo f t h em a i nd i m e n s i o n so fi n f l u e n c i n gt h e p e r f o r m a n c eo f t h ew e bs y s t e ms u c ha sr e s p o n s et i m e ,t h r o u g h p u t , a n dt h er a t i oo f d i s c a r d i n go f t h ew e bs e r v e r s e c o n d l y , b a s e do nt h ep r i n c i p l eo f t h ew e b 1 1 1 内蒙古人学顾i 擘位论文 p e r f o r m a n c et e s t i n g ,ip r o p o s e dt h er e s e a r c ho nt h ef u n c t i o n a lm o d u l e s t h a taw e b p e r f o r m a n c et e s t i n gt o o ls h o u l dh a s ,i n c l u d i n gt h es c r i p tm a k i n gm o d u l e ,t h et e s t i n g m o d u l e ,t h ed a t aa n a l s i n gm a d u l ea n ds oo n i nt h el i g h to fs o f t w a r ee n g i n e e r i n g , a d o p t i n gt h e 。r u po f u n i f i e dp r o c e s sd e v e l o p i n gm e t h o d ia n a l y s ee v e r ym o d u l eo f t h et e s t i n gt o o l ,a n dt h e nd e s i g na n di m p l e m e n taw e bp e r f o r m a n c et e s t i n gt o o lc a l l e d w p t ai nt h el i g h to f o b j e c t - o r i e n t e dm e t h o d ,u s i n gt h ep u r ej a v at e n c h n o l o g y t h e t o o lh a sr e l a t i v e l yc o m p l e t ef u n c t i o n s ,e a s yt ou s e ,a n di sc o n t r o l l a b l e t h i st h e s i sp e r f o r mt h es i m u l a t i n go f m u l t i p l eu s e r sc o n c u r r e n t l yv i s i tt h e w e b s i t e sw i t hp i p l i n i n gp e r s i s t e n tc o n n e c t i o n so fh t i p 1 1a n dm u l t i p l et h r e a d s s i m u l a t i n gm u l t i p l eu s e r s a l s ot h er e s o l u t i o ns c h m e mo fc r i t i c a la l g o r i t h ma n dt h e t e c h n o l o g yp r o b l e md i f f i c u l tt or e s o l v e a re g i v e na n dh a v eas t a t i s t i c so f t h ed a t ag o t b yt h ew p t a a n dh a v ear a t i o n a l i t ya n a l y s eo f t h es t a t i s t i c sd a t a n e x t ,iu s et h ew p t a t oh a v eap e r f o r m a n c et e s t i n gw i t ham o b i l es a l e sw e b s i t e a n ds h o wh o wt oa n a l y s et h ep e r f o e m a n c eo f t h ew e b s i t ea n dr e f e rt ot h eb o t t l e n e c k o f t h ew e b s i t ea n dh a v ear e s e a r c ho nh o wt oa u t o m a t i c a l l yp r e s e n ta no p t i m i z i n g s u g g e s t i o no f t h ew e b s i t ea n dp r o p o s et h ec r i t i c a la l g o r i t h mo f i t k e y w o r d s : w e b ,p e r f o r m a n c e ,t e s t i n g ,a n a l y s i s ,h 1 v r p 原创性声明 j 、人一口j :所甲它的学位论文是木人 导师的 h 廿r 进行的岍一li 佧及取z 朋1 研究成 果。除夺卫l 纾往明引川的内容外,论z 中- i 、包含其他人已经发表歧j 过的研究成果,也 不也台- j ji i :州凼筮直厶:兰及其他敦百机构的。;j 忙或证j5 而使川过自7 丰 i 与我一同i 作的同 忠i t 本! 赶 i 做的任十f 贡献均已在论文中佧j 明确的说明行丧,示跚圣 学n 泡文作者签名 e i期 酗岛t 抹 湖7 矗 指导教师签名 日期 在学期间研究成果使用承 = ;节 本学何论文作者完全了解学校有关保留、使川学位论文的规定,:内蒙古人学有权将 学位论文的0 :部内容或部分保留并向国家有关机构、部fj 送交学位论之的复印什币l 磁盘,允 许编入有天数据库进 i 检索,也可蛆采h j 影印、缩印或其他复制手段f * 仔、汇编学位论文。 为保护学院和导师的知识产权,作者扫。学期间取得的研究成果属r i 絮占人学。作者今后 馒h 涉及往i :删间土要研究内容或研究成果须祉得内蒙古人学就谚! l | j f 川导师的尉意:若m 于发表论文,版权单何必须署名为内蒙占人学方可投稿绒公开发表。 1 羊 寺论史 1 。若签名 日 卫亟t 袜 1 。+ i 。一 o 7 口 指导教师签名 日 期 w e b 系统性能测试t 具的研究 1 1 选题的背景 第一章:引言 w w w 自从产生以来,已经得到广泛的发展,尤其近年来,已经在全球范围内形成了一 个巨大的信息网络。人们的日常生活都和w e b 息息相关,人们利用w e b 上网浏览新闻、在线 购物、收发电子邮件、进行网上办公等等,可以说,w e b 己经成为工作和生活中必不可少的 一个部分。 随着w e b 应用飞速发展,w e b 开发工具不断丰富,而且b s 构架系统具有对客户端要求 简单,部署容易,接入方便的优点,因此对b s 构架系统的开发越来越多。 许多w e b 应用的开发为了吸引用户的眼球,只注重对页面效果的设计,而忽视了系统性 能方面的问题。如果w e b 系统软件存在问题、或者数据库设计不合理,或者页面设计不合理 等等问题,都会导致w e b 系统性能问题。结果是用户在使用过程中遇到由于系统性能不佳, 造成访问速度慢,响应时间长,用户感知满意度下降,甚至出现系统崩溃的情况。这些都不 可避免地导致公司收益地损失,于是业界提出了对w e b 性能测试的需求。 但是传统的测试技术虽然可以应用于w e b 系统局部测试之中,却远远不能满足w e b 软 件测试的要求。 目前,国内外的研究机构己经对w e b 应用软件测试进行了一些研究,也已经取得了一些 成果。国外在w e b 系统性能测试软件研发方面研究比较深入。主要以以色列和美国的软件公 司为领先,如m e r c u r yi n t e r a c t i v e 公司、c o m p u w a r e 公司等,并且已经生产出成熟的商用软件 工具,如l o a d r u n n e r 和q a l o a d 等。这些性能测试工具支持包括h t t p s 协议在内的多种协 议和多体系结构测试,而且性能稳定、测试效果突出。国内也积极对w e b 性能测试的研究比 较多,但是真正能用的工具还很少。国外开发出的成熟测试软件价格都很昂贵。 国外的许多开源的w e b 测试软件功能也很强大,比如a p a c h e 公司的j m e t e r 、o p e n s t a , 但是由于其使用起来非常复杂,我们在使用时普遍存在学习曲线问题,在使用前需要花费很 多时间和精力来学习和研究测试软件的使用方法、如何配置参数等等。比如,o p e n s t a 是一 个功能强大、自定义设置功能完备的软件。但是这些设置大部分需要通过s c r i p t 来完成,因 此在真正使用这个软件之前,必须首先学习好它的s c r i p t 编写。因此,开发出符合实际需要 的、小巧灵活的测试软件是当务之急。 内蒙古人学硕l :学位论文 1 2 选题的意义 当w e b 系统设计完成后,看似非常漂亮的系统是否确实可用? 它可以承受的最大用户数 量是多少? 用户会对这个w e b 站点满意吗? 如果出现系统响应时间长等系统性能问题,该如 何解决? 这些问题是每个w e b 站点在使用过程中面临的问题。 由于成熟的自动测试工具都出自国外,其中包括一些开源代码程序,但是使用起来比较 困难。主要的问题是开源代码过于追求功能的强大,w e b 测试部分只是其中一部分,这样使 得在w 曲测试流程和界面复杂,需要反复的配置参数,参数非常复杂,而且如果对参数值的 范围把握不好就会出错;而大部分软件是实现w e b 系统测试中的一部分功能,如提供压力测 试、提供分布式测试等等,这种软件必须结合人工分析才能完成w e b 性能测试的工作。 本文在研究国内外一些现有测试工具后,针对目前对w 曲测试的需求,在充分分析w e b 系统和h r r p 协议的特点基础上,提出了一个符合实际需要的、小巧灵活的测试系统的工具设 计方案和实现。 1 3 研究的主要内容 本文以一个手机销售网站为测试对象,开展了一些对w e b 系统的性能测试研究工作。 首先、对w e b 系统架构进行分析。对w e b 服务器和客户端技术进行了分析,重点对t o m c a t 服务器+ j s p 架构进行了分析。 第二、通过对客户端和服务器端使用h t l p 协议的分析,尤其是对数据的消息和数据头域 部分做了详细的分析,得出了测试数据组成结构。 第三、对现有的w e b 系统性能测试工具进行分析,分析其优点和不足。 第四、采用面向对象技术,使用j a v a 作为性能测试工具的开发语言,并采用x m l 语言 作为脚本语言,设计了一个w e b 测试平台,这样可以实现跨平台的性能测试工具部署,同时 增强了脚本语言的跨平台能力。通过对w e b 系统进行分布式的并发测试和压力测试,得到 w e b 系统的各项性能参数,如系统平均请求数、平均响应时间、系统吞吐量。 第五、对测试数据进行数据分析,得出系统的性能参数。并依据系统各项性能参数利用 推理规则自动提供对系统的优化建议。 通过这些工作,可以实现对一个中型商务网站的测试,并提供了对这个网站的性能分析。 2 w e b 系统性能测试t 具的研究 第二章h t t p 协议分析 在w 曲中最常用的应用层协议是h 1 v r p ( h y p e rt e x tt r a n s f e rp r o t o c 0 1 ) 【”协议。超文本 传输协议是一个通用的、无状态的协议。 h t t p 协议采用了请求一响应模式。客户向服务器发送一个请求,请求头包含请求的方 法、u r i 、协议版本、以及包含请求修饰符、客户信息和内容。服务器以一个状态行作为响 应,响应的内容包含消息协议版本、成功或错误编码加上包含服务器信息、实体元信息以及 可能的实体内容。 目前的w e b 应用系统,无论静态的h t m l 页面、还是通过a s p 、p h p 、j s p 等技术显示 的动态页面,都是通过h r r p 协议和用户进行交互的。 2 1h t t p 协议中的重要术语 连接( c o n n e c t i o n ) :一个传输层的实际电路,它使建立在两个相互通信的程序之间的。 消息( m e s s a g e ) :h t t p 通信的基础单位,包括一个结构化的八进制数序列,符合一定 的语法,并且通过连接传送。 请求( r e q u e s t ) :一个从客户端到服务器的请求信息包括应用于资源的方法、资源的标识 符和协议的版本号。 响应( r e s p o n s e ) :一个从服务器返回的信息包括 i 丁r p 协议的版本号、请求的状态和文 档的m i m e 类型。 资源( r e s o u r c , e ) :由u r i 标识的一个网络数据或服务。 实体( e n t i t y ) :可被附在请求或回应消息中的特殊的表示法、数掘资源的表示、服务资 源的回应等,由实体标题( e n t i t yh e a d e r ) 和实体主体( e n t i t yb o d y ) 内容形式存在的元信息 组成。 客户端( c l i e n t ) :一个为了发送请求而建立连接的应用程序。 服务器( s e r v e r ) :接收连接,并通过发送响应包来响应请求的应用程序。任何一个给定 的程序既能做客户端,也能做服务器。 代理( p r o x y ) :一个既是服务器又是客户端的中间程序,可以替其他客户端发送请求。它 可以直接对请求做出响应,也可以在必要时翻译后将请求继续传送给其他的服务器。在这个 规范里,一个代理必须同时完成客户端和服务器的功能。 内蒙古人学顾i :学位论文 缓存( c a c h e ) :一个应用程序的响应信息在本地存储和控制其消息存储检索和删除的子 系统。缓存存储了可以存储的响应数据,这样可以降低响应时间,并且可以减少以后未来一 段时自j 对网络带宽的消耗。 2 2h t t p 消息2 1 2 2 1h t t p 消息的种类 h t t p 消息包括请求消息和响应消息两类。h r r p 消息的通用组成结构如图1 1 起始行 头域字段名值回车换行 头域字段名值回车换行 回车换行 实体消息 回车换行 图1 1h 丁r p 消息结构 f i g u r e1 - 1t h es t r u c t u r eo f h l l t pm e a a s g e 请求消息的起始行是指其请求行,响应消息的起始行是其状态行。实体头可省略,请求 消息的消息体指的是请求数据,响应消息的消息体指的是响应数据。 2 2 2h t t p 头域 在w e b 系统中,h t t p 协议在客户端和服务器的消息交互中,双方会根据头域中规定的 内容确定交互的信息类型、交互的时间、是否迸行缓存、是否发送拷贝、是否启用带流水的 持久连接等等,因此,h r r p 头域在消息机制中有非常重要的作用。事实上,由于h r r p 协 议是w e b 应用系统中最重要的坍议,对于h t t p 协议的配置会影响w e b 的性能,对h r r p 协议的配置,主要是针对头域的配置。 一般情况下,使用带流水的持久连接会加快数据的发送、接收速度,从而减少w e b 系 统的响应时间,提高w e b 系统的运行效率。在头域中加入一项允许w e b 系统进行缓存,也是 提高w e b 系统的响应时间的一种好办法,对w e b 缓存的配置、管理也是在h r r p 头域中进行 4 w e b 系统性能测试t 具的研究 的。通过允许w e b 缓存,一方面可以使客户的请求在距离自己比较近的缓存处得需要的拷贝, 减少请求、响应的传输时间,另一方面缓解的w e b 服务器端的访问压力,提高了服务器端的 可接入数量、减少了响应时间。 在响应消息中,服务器会传递一些服务器的信息,客户端浏览器会根据这些消息调整设 置,如是否进行缓存等,因此必须考虑服务器端返回的响应消息对客户浏览器造成的影响。 h r r p 协议包括通用头域、请求头域、响应头域、实体头域等四种类型的头域,用于定义服 务器和客户端之间的交互,我们常用的头域有: l 、c a c h e c o n t r o l 通用头域制定请求和响应遵循的缓存机制; 2 、c o m e m - l e n g t h 头域指定包含于请求或响应中数据的字节长度; 3 、a c c e p t 请求头域定义客户端可以处理的介质类型; 4 、h o s t 头域指定请求资源的i n t e n e t 主机和端口号,必须表示请求u r l 的原始服务器 或网关的位置; 5 、u s e r - a g e n t 头域定义用于产生请求的软件类型; 6 、c o n t e n t - t y p e 实体头用于向接收方指示实体的介质类型,指定h e a d 方法送到接收 方的实体介质类型,或g e t 方法发送的请求介质类型; 7 、c o n t e n t - l e n g t h 实体头域表示实际传送的字节数; 8 、l a s t m o d i f i e d 实体头指定服务器上保存内容的最后修订时间; 9 、e t a g 实体头域向被发送的资源分派一个唯一的标识符。对于可以使用多种u r l 请 求的资源,e t a g 可以用于确定实际被发送的资源是否为同一资源。 2 2 3h t t p 请求消息 一个请求消息由四个部分组成:请求行、请求头域、空行和请求数据。 其中,请求行结构如图1 2 : 图1 2h t t p 请求行结构 f i g u r e1 - 2t h es t r u c t u r eo f r e q u e s tl i n e 例如:g e tl i n d e x h t m lh 丁r p l - 1 h t t p 定义了3 种主要的请求方法: g e t 检索u r i 中标识资源的一个简单请求 p o s t 从客户机向服务器传送数据时使用p o s t 发送h 刑l 文本中f o r m 的内容,让 内蒙古人学硕i :学位论文 c g i 程序处理。 h e a d 要求服务器查找某对象的元信息,即服务器只返回状态行和头域,并不返回请 求文档 2 2 4h t t p f f 目应消息 一个响应消息由四个部分组成;状态行、响应头域、空行、响应数据。其中,状态行由 三个标记组成:h r r p 版本、响应代码和响应描述。 l 版本l 空格l 响应代码l 空格l 响应描述i 回车i 换行i 图1 3 h 1 _ r p 状态行结构 f i g u r e1 - 3t h es t r u c t u r eo fh t t ps t a t u sl i n e h 1 r p 版本:向客户端指明其可理解的最高版本。 响应代码:3 位的数字代码,指出请求的成功或失败,如果失败则指出原因。例如: h 1 y r 1 12 0 0o k 。 h 1 v r p 响应代码: l x x :信息响应类,表示接收到请求并且继续处理 2 x x :处理成功响应类,表示动作被成功接收、理解和接受 3 x x :重定向响应类,为了完成指定的动作,必须接受进一步处理 4 x x :客户端错误,客户请求包含语法错误或者是不能正确执行 5 x x :服务端错误,服务器不能正确执行一个正确的请求 2 2 5h 1 v r p 的工作机制 一个典型的w e b 页由基础页面和内嵌的资源对象组成。基础页面一般按照标准的语法结 构超文本标记语言书写,而内嵌资源( 图象、声音等) 的u r l 则按一定格式包含在基础页 面之内。这里从双方交互的角度来描述其工作机制。为了显示用户所请求的一个页面,双方 需要完成下列步骤: 1 客户端浏览器与服务器建立一条到该i p 地址的t c p 连接; 2 客户端浏览器在该t c p 连接上向服务器发送h r r p 请求; 3 客户端浏览器所获得的页面,并提取出其中包含的资源对象的u r l ,并向服务器发 送请求内嵌资源的一个或多个请求; 4 服务器收到对内嵌资源的请求后,发送一个或多个内嵌资源到客户端的浏览器: 5 在得到所有的内嵌资源后,浏览器根据具体的格式( h t m l 、声音、图片、动画等) 解 6 w e b 系统悱能测试工具的研究 释这些资源,并把它们显示给用户。 6 关闭连接。 2 2 5t c p 连接 在设计w e b 性能测试系统必须模拟客户与服务器之间建立连接、发送请求、接收响应的 过程。由于h r r p 协议工作在t c p 协议之上,一定要了解h t t p 协议如何利用t c p 连接进 行数据传送。 非持久连接是指客户端和服务器端建立起来的t c p 连接,在每次服务器发出一个对象 后,相应的t c p 连接就被关闭,每个连接都没有持续到可用于传送其他对象。每个t c p 连 接只用于传输一个请求消息和一个响应消息。使用非持久连接不能有效利用网络资源,加大 了服务器的负担,因此现在一般采用持久连接。 持久连接是服务器在发出响应后让t c p 连接继续打开着。同一对客户服务器之间的后 续请求和响应可以通过这个连接发送。在持久连接中还分为非流水持久连接和支持流水 ( p i p e l i n i n g ) 的持久连接。支持流水的持久连接中,在客户发出一个资源请求后,不必等待 服务器返回响应,就可以直接发送下一个资源请求,就是说客户可以在没有接到服务器对前 一个请求的响应的情况下,一个接一个的发送资源请求,而非流水的持久连接要求客户在发 送出一个资源请求后,必须等待服务器返回相应的响应后,才能发送下一个资源请求。图l 一4 显示了带流水的持久连接数据交互过程。 c l i e n ts e r v e r 小务器埘h t t p i 身j kj 韭 j 钎析 午l i 址理 务器埘h 丌p 请求道jj 钎* i _ l i 址州 图卜4 持久连接的h t t p 协议数据交互过程 f i g u r e l - 4 p a c k e t se x c h a n g e do f h t t pi n t e r a c t i o nw i t l lp e r s i s t e n tc o n n e c t i o n 7 内蒙古人学硕f :学位论文 2 2 6 缓存和c o o k i e w e b 缓存技术实现了w e b 内容的关键节点( 包括本地) 存储,通过就近从缓存取得对象( 包 括页面和文档) 。w e b 缓存技术还通过将对象复制到多个服务器上的方法来降低w e b 服务器 的压力,提高服务器的可用率 3 】。 为了防止缓存中存放的对象的拷贝可能是过期的。h r r p 提供一个带条件的g e t 机制, 使得在允许客户进行高速缓存的同时,仍确保传递给浏览器的所有对象都是最新的。例如: g e t h t t p :2 1 1 8 2 1 6 9 1 2 l o g i n j s p h t t p i 0 u s e r - a g e n t :m o z i l l a 4 0 ( c o m p a t i b l e ;m s l e6 0 ;w i n d o w sn t5 o ) i f - m o d i f i e d s i n c e :t h u 1 3o c t2 0 0 60 2 :3 2 :4 7g m t h 兀p 协议是无状态的协议。然而,一个w e b 站点往往有标识其用户的需求,因为其 w e b 服务器可能希望限制用户的访问,也可能想要根据用户的身份来提供内容。在r f c2 1 0 9 中提供了一种使用c o o k i e 让w e b 站点用来跟踪用户的种机制【4 】。 2 3 h t t p 协议在测试中的应用 研究w e b 技术和h 1 v r p 协议,对于我们设计w e b 测试系统,模拟客户端浏览器和服务 器的交互方式和交互数据组成有很大帮助。 在测试例设计中要考虑请求和响应消息的头域设置基于一些可能出现的情况,比如: 1 、在w e b 应用系统中,服务器需要跟踪和记录与客户端的会话信息,通常将包含会话 i d 值的c o o k i e 保存在客户端浏览器中。测试时,为了真实模拟用户行为场景,需 要在h t 7 请求中包含c o o k i e 头域值。 2 、如果网站有缓存,那么会出现由于缓存中己经有数掘而服务器不需要发出响应数据, 这样在测试过程中会减少对服务器的有效压力,不利于测试出服务器的承受压力的 实际情况; 3 、如果在请求消息中带有i f - m o d i f i e d s i n c e 头域字段,那么服务器有可能在返回的响 应消息中仅返回代码3 0 4 ,而不返回响应文件,这样会减少对服务器的有效压力; 在w p t a 测试系统中,代理服务器模块捕捉并录制下了用户在i e 浏览器上点击的顺序 和内容。在代理服务器模块记录下的数据中,记录了发出请求的所有的h r r p 头域,当然包 括服务器对主请求进行响应后浏览器发出的进一步请求和一些特殊字段。这样,在生成测试 脚本时需要对h r r p 请求头字段进行修改。 8 w e b 系统性能测试t 具的研究 另外,我们用x m l 编写测试的脚本必须根据头域进行设计,否则可能会出现无法解析 的情况。 9 内蒙古人学硕l j 学位论文 第三章w e b 系统测试基础 3 1w e b 性能测试必要性 一个完整的w e b 系统的测试过程大致分为功能性测试、性能测试、可用性测试、客户 端兼容性测试和安全性测试等等。w e b 系统性能测试是指对被测系统的信息的收集和分析过 程,它考察在不同的用户负载下,系统对用户请求做出的响应情况,以确保将来系统运行的 安全性、可靠性和执行效率。性能测试可以看作是一种“黑盒测试”。w e b 性能测试包含很多 内容,例如负载测试、压力测试、并发测试等。 在开发一个w e b 软件系统的过程中,w e b 系统的性能越来越成为开发者关注的方向。 一套众所周知的w e b 系统响应时间的规则告诉我们: 用户将不会注意到少于0 1 秒的延迟; 少于1 秒的延迟不会中断用户的正常思维, 但是一些延迟会被用户注意到: 延迟时间少于1 0 秒,用户会继续等待响应; 延迟时间超过1 0 秒后,用户将会放弃并开始其他操作: 由上面可知,用户对于w e b 系统的延迟是有一定的容许范围的,超出了人们所能承受的 时间延迟,即使w e b 系统的功能强大、内容丰富,最终也会被读者抛弃。因此,对于w e b 系统的系统性能的测试,在整个系统的开发过程中,是非常重要的一个环节。 但是,现实中许多w e b 应用系统并没有经过严格的性能测试,根本无法支持大量用户的 访问。根据m e r c u r yi n t e r a c t i v e 公司的研究报告,9 8 的w e b 服务器都未能达到人们所期望的 性能,平均只能发挥1 6 的期望性能。 w e b 应用系统在开发过程中,大多数开发方由于对系统性能测试重要性认识不足,仅仅 着眼于通过功能测试保证业务逻辑的正确性,很少甚至根本不对系统可能面对的实际用户压 力进行调研,而是想当然地根据经验估计系统能力、以及系统能够承受的压力,缺乏科学的 测试手段和数据结果。结果在系统上线运行后,当过量用户在峰值时访问w e b 应用系统时, 就会导致w e b 服务器无法及时响应用户的请求,甚至使得系统崩溃和瘫痪,带来不可估量的 经济损失。 怎么理解w e b 系统的性能,如何判断性能的瓶颈是在网络、还是在服务器、还是客户本 身的浏览器问题造成的访问延迟过大? 由于客户端浏览器都是国际上通用的几个,其性能主 要由浏览器生产厂商来解决,我们只要按照其提供的方式设置进行访问就可以,因此我们在 o w e b 系统性能测试t 具的研究 这里不予过多的讨论。这里只是强调一般浏览器都会启用浏览器缓存来加快访问w e b 网站的 速度。因此,我们在响应时间里会加上一个参数,代表浏览器显示网页所花费的时间。 在讨论w e b 系统的瓶颈时就只需要讨论网络和服务器这两个主要因素了。w e b 用户经历 着不可预测的网络延迟,这些都取决于连接的带宽和网络拥塞。网络带宽和拥塞不在我们的 研究范围之内。我们的研究的重点问题,应该在服务器端的性能。研究服务器的性能,一定 要对w e b 的性能指标及其相互间的关系进行研究。 3 2w e b 性能指标 性能测试指标1 6 是指评价w e b 性能高低的尺度和依据。典型的性能度量指标有响应时间 ( r e s p o n s e t i m e ) 、系统吞吐量( t h r o u g h p u t ) 、并发用户数目( c o n c u r r e n t u s e r s ) ,h r r p 事务处理 数秒和会话数秒( h r r pt r a n s a c t i o n sp e rs e c o n da n ds e s s i o np e rs e c o n d ) ,数据流量、网络流量 统计( n e t w o r ks t a t i s t i c s ) 等。 1 响应时间 响应时间也称为等待时间,一般的,它是从一个请求的发出到客户端收到服务器的响应 所经历的延迟,通常秒或毫秒衡量。一般而言,等待时间与尚未利用的系统容量成反比。它 随着低程度用户负载的增加而缓慢增加,但一旦系统的某一种或几种资源已被耗尽,等待时 间就会快速地增加。 但是我们在对w e b 系统进行测试的过程中,又将响应时间进行详细分类。分为w e b 响 应时间、事务响应时间、数据库响应时间等。w e b 响应时间定义为从发送第一个请求包到收 到第一个响应包之间经历的时间;事务响应时间定义为客户端发出的事务的第一个请求到服 务器发回的最后一个响应包之间经历的时间;数据库响应时间定义为相应的事务响应时间与 w e b 响应时间之差。还有广义的响应时间等于事务的响应时间加上浏览器处理、显示时间之 和,这是客户直接感受的w e b 系统总体的响应时间,但是由于随着客户端技术的发展和计算 机性能的不断提高,客户端的处理、显示时间基本上不是影响客户感受的主要因素。因此, 本文计算的响应时间一般是指w e b 响应时间和事务响应时间。 2 吞吐量 吞吐量是指在某个特定的时间单位内系统所处理的用户请求数目。常用的单位是请求数 ,秒或字节数秒。 作为一个最有用的性能指标,w e b 应用的吞吐量常常在设计、开发和发行整个周期中的 塑鍪直盔兰堡! 兰竺丝塞 不同阶段进行测量和分析。例如在容量计划阶段,吞吐量是确定w e b 站点的硬件和系统需求 的关键参数。此外,吞吐量在识别性能瓶颈和改进应用和系统性能方面也扮演着重要角色。 不管w e b 平台是使用单个服务器还是多个服务器,吞吐量统计都表明了系统对不同用户负载 水平所反映出来的相似特征。图3 1 是典型的吞吐量和用户负载之自j 典型的特征曲线。 吞吐量 用户负啦量 图3 1吞吐量与用户负载的特征关系 f i g u r e3 - 1t h er e l a t i o n s h i po f t h et h r o u g h p u ta n du s e r s 图3 一l 显示,在初始阶段,系统的吞吐量和用户负载成正比例增长,然而,由于系统资 源的限制,吞吐量不可能无限的增加,它会逐渐达到一个峰值,然后整个系统的性能会随着 负载的增加而降低。但是,在实际测试中,吞吐量和用户负载的关系图曲线不会象理论上这 么明显,很有可能出现曲线上下波动的情况。但是从总的趋势来看,是符合图3 1 的曲线规 律的。在许多方面,吞吐量和响应时间都是相关联的,它们不过是以不同的方式去考虑同一 个问题。一般地,具有较长响应时间的站点其吞吐量就会小。 3 并发用户数目 并发用户数目是指在某一给定时间内,在某个特定站点上进行公开会话的用户数目。一 个网站的并发用户数是网站综合能力的标志。 4 每秒请求字节数 每秒请求字节数指每秒到达w e b 站点的请求字节数。每秒的会话数目是与性能紧密相关 的,它是每秒中到达并访问网站的用户数e l 。 3 3w e b 性能测试原理 从w e b 应用系统的角度来看,浏览器端用户请求实质上是大量的网络请求,这些网络请 求包含静态资源请求和动态资源请求两大类。静态资源指那些保存在磁盘中,直接将内容作 为响应结果输出到客户端的文件:动态资源则包括a s p 、p h p 、j s p 、s h t m l 、c g i 等动态脚 w e b 系统性能测试工具的研究 本的执行结果。通常情况下,静态资源请求u r l 的内容是静态网页在w e b 服务器中的位置, 在浏览器显示的内容就是静态资源文件本身:动态资源请求u r l 在浏览器显示的内容不是动 态脚本文件,而是带参数的动态脚本文件的执行结果,结果以静态网页资源的形式从w e b 服 务器返回浏览器,通常使用g e t 、p o s t 等方法将参数传递给w e b 服务器。 由于w e b 应用系统自身以及其与浏览器之间的通信需要通过网络进行,所以w e b 应用 系统性能测试实际上就是通过网络环境对w e b 应用系统发送大量网络请求的w e b 压力测试, 即对w 曲应用系统进行性能测试主要采取w e b 压力测试来实现。 w e b 压力测试的目的是通过搭建与实际使用环境相类似的测试环境,通过模拟大量用户 并发的访问服务器的行为,利用测试系统对w 曲站点进行压力测试,通过调整测试压力,得 到系统的不同的性能指标并收集这些测试性能指标。经过对收集到的被测系统的性能指标进 行分析,得到被测系统的性能瓶颈。通过对w e b 系统达到性能瓶颈时的系统进行分析,得到 系统优化方案,改善系统的性能指标,提高系统访问速度。 3 4w e b 性能工具介绍 w e b 性能测试工具通过记录用户操作并把它们与脚本语言相结合来生成测试脚本,并能 产生多个线程,每个线程运行一个特定的测试脚本或场景,以模拟发送到服务器的真实请求。 进行性能分析时,可以跟踪性能度量结果( 如响应时间和数据吞吐量) ,并且用表格和图形格 式生成报告。 a p a c h ej m e t e r i7 1 是百分之百j a v a 实现的用于负载测试和衡量性能的桌面应用程序。该程 序原本是用于测试w e b 应用程序的,但是已经扩展到可以测试其他功能,例如f t p , j a v a , s o a p x m l r p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论