基于WAST的Web网站压力测试

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:hgwxd
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:网站压力测试是网站应用程序性能测试必不可少的一项工作。现以一个用ASP.NET 开发的校园网站为例,详细介绍Web网站的压力测试参数,及如何使用WAST(Microsoft Web Application Stress Tool) 对Web网站性能进行压力测试。
  关键词:Web 网站;压力测试;WAST
  中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)23-888-03
  Based on the Web Site WAST Pressure Test
  SHI Wei-juan,DOU Ru-lin
  (Jinling Institute of Technology, Nanjing 210001, China)
  Abstract: Web site stress-testing site is an essential application performance testing of a work. ASP.NET is used to develop a campus site as an example,the web site details the pressure test parameters,and how to use WAST (Microsoft Web Application Stress Tool) on the Web site of a pressure test.
  Key words: web site; stress tests; WAST
  
  1 引言
  
  软件测试是软件开发过程中非常重要的环节,通常在软件开发机构,软件测试占了整个项目工作量的40%。通过测试工作全面检验系统初级成品是否符合系统设计的思想,达到系统设计的功能要求。其中,在软件交付之前,为了验证系统的性能和稳定性,需要进行压力测试。对于大学校园信息系统来说,电子图书馆、网络教学、网络办公、网上考试、网上教务等信息系统都是建立在网络基础上的,这些系统能不能满足全校学生的使用要求,都需要进行压力测试。
  
  2 压力测试简介
  
  压力测试是性能测试中的一种,它是通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,并以此来获得系统能提供的最大服务级别的测试。使用压力测试,往往能够找到其他测试方法难以发现的错误,例如内存泄漏、并发与同步的问题。
  Web压力测试是目前比较流行的话题,利用Web压力测试可以有效地测试一些Web服务器的运行状态和响应时间等等,对于Web服务器的承受力测试是个非常好的手法。Web 压力测试通常是利用一些工具,例如微软的Web Application Stress Tool、Linux下的siege、功能全面的Web-CT等等,这些都是非常优秀的Web压力测试工具。下面我就带大家利用微软的Web Application Stress进行一次Web压力测试。
  
  3 测试方法及实例
  
  3.1 工具简单介绍
  Microsoft Web Application Stress Tool(英文缩写“WAST”) 是由微软的网站测试人员所开发,专门用来进行实际网站压力测试的一套工具。透过这套功能强大的压力测试工具,您可以使用少量的客户端计算机仿真大量用户上线对网站服务所可能造成的影响进行测试,以找出系统潜在的问题,以便对系统进行更进一步的调整、设置工作。测试者可以根据Web网站潜在的访问人数,设定在一个给定时间内的同时连接数,利用一台或多台客户机进行仿真测试,测试结束后,会生成一个详细的测试报告,在测试报告中描述了一次测试中的各项性能指标值。
  3.2 WAST可测量的性能参数主要有:
  1)Socket Connects:客户机产生的总连接数。
  2)Number of hits:命中的连接数,即产生的稳定连接数。
  3)Requests per Second:每秒请求数。这个参数可反映系统的吞吐量特性。
  4)Total Bytes Sent(in KB):一次测试过程中,客户机向Web服务器发送的总字节数。
  5)Bytes Sent Rate(in KB/s):客户机发送字节的速率。
  6)Total Bytes Recv(in KB):一次测试过程中,客户机从Web服务器接收的总字节数。
  7)Bytes Recv Rate(in KB/s):客户机接收字节的速率。
  8)TTFB Avg(in ms):客户机从发出一个Web请求到收到完整页面的第一个字节所用的平均时间。
  9)TTLB Avg(in ms):客户机从发出一个Web请求到收到完整页面的最后一个字节所用的平均时间。这个参数能反映了Web服务的平均响应时间。
  与其它的测试工具比较,WAST具有以下特点:
  1)WAST是免费软件,可以从微软网站上直接下载使用。
  2)WAST简单易用,可以以多种方式生成测试脚本。
  3)一个测试脚本可以在一台或多台测试客户机上使用,所有的客户机受一台主客户机的控制。主客户机与其它客户机通信,负责分发测试数据、初始化所有客户端,以及从所有客户端收集测试结果。
  WAST基于HTTP1.0或HTTP1.1协议标准,可仿真浏览器对任何Web服务器的访问,具有跨平台性。
  允许每一个虚拟访问用户的cookies 和ASP session 信息存储。
  支持带宽抑制和随机思考时间,以产生更真实的访问情境。
  提供可操作对象模型,利用VBScript或其他编程语言可以以程序方式配置、启动或停止测试脚本。
  3.3 测试环境
  由于本人工作需要,我们对我校信息中心的一台Web服务器上的校园信息系统进行测试时,可以使用两台机器。一台是被测试Web 服务器,基本配置为:Intel P IV 3GHz,2G RAM,服务器安装Windows 2003 Server,数据库使用SQL Server 2005,网站程序使用Visual studio 2005开发的ASP.Net,使用IIS发布。另一台机器用作客户端,基本配置为:Intel P IV 3GHz,1G RAM。操作系统用Windows XP Professional,运行WAST软件。校园网主干为千兆,百兆到桌面。
  3.4 测试条件及参数设置
  在进行测试前,要创建测试脚本,在脚本中对测试输入条件进行设置,主要有以下一些参数:
  1)要访问的URL:在我们的系统中,用户多数是浏览网站的新闻内容,为便于测试,我们选择一个具有代表性的ASP.Net网页,该网页程序执行后,显示新闻的具体内容,有文字描述,还有用图片、超级链接及下载附件,WAST根据指定的网页URL。
  2)Think Time:用户思考时间,即执行一个访问之前的延迟时间。它包括浏览器分析HTML页面及为该页面嵌入的对象(如图像)建立新的TCP连接所花费的时间和用户浏览页面所用的时间。将此参数设为0,即没有思考时间,WAST会以最快的速度每一个访问线程。我们将思考时间设为30秒。
  3)Concurrent Connections:访问的用户数,由Stress level(threads)(客户机操作系统的线程数)和Stress multiplier(sockets per thread)两个参数确定,它们之间的关系是:
  Total Concurrent Requests= Stress level× Stress multiplier=Total Number Sockets
  在我们的测试中,设Stress multiplier为固定值1,Stress level的值分别取100,200,300,400,500,750,1000,1500,2000进行连续测试,由于数据缓存对应用程序的性能有一定影响,为使测试环境一致,我们首先从500线程测试开始。
  4)Test Run Time:测试运行时间。为避免测试结果偏差,测试应该至少运行几分钟的时间,以产生足够的连接数。一般测试时间在7-10分钟,就可以产生稳定的测试结果。我们将每次测试时间定为10分钟。
  5)Request Delay:请求产生的延迟时间,每一个请求在产生之前会等待一个随机时间。延迟时间在设定的最大值(1000ms)和最小值(0ms)之间随机产生,以避免产生对Web服务器的访问峰谷,产生一个新的请求的总延时为:Request Delay(随机时间)+ Think Time(思考时间)。
  3.5 压力测试过程
  步骤1:在工具中点右键,选择Add命令,增加了一个新的测试项目:New script,对它进行设置,在主选项中的server中填写要测试的服务器的IP地址。在下方选择测试的Web连接方式,这里的方式Verb选择 GET,Path选择要测试的Web页面路径,这里填写/index.aspx,即网站的首页文件(如图1)。
  步骤2:在“Settings”的功能设置中将Stress level (threads)线程数设置为你需要模拟的用户数。完毕后,点工具中的灰色三角按钮即可进行测试(如图2)。
  步骤3:在“View”的菜单中选择“Reports”查看测试结果(如图3)。
  3.6 测试结果及分析
  通过不断改变连接的用户数,进行一组连续测试。在WAST生成的测试报告中详细给出了描述Web 服务器性能的一些数据。经过整理、筛选、统计,得到表1所示分析数据:
  由表1 可知, 随着浏览器同时连接数的增多, 产生连接数的命中率在下降,同时服务器的平均响应时间变大,说明系统响应越来越慢;如果同时查看服务器的性能监视器的资源占用率,可找到此系统性能的瓶颈所在,从而分析出系统最大访问数。
  
  4 结束语
  
  压力测试是Web应用程序测试的必要环节。本文以一个典型的用ASP.NET开发的校园网站系统为例,详细介绍了如何使用WAST 对Web 站点进行测试,并对测试结果进行了深入分析。WAST凭着与Windows 系统有良好的兼容性,简洁的人机对话界面,详细的测试结果,随着Web程序技术的广泛使用, 必然会有越来越多的开发者使用。
  
  参考文献:
  [1] (美)Homer A, Odhner M,著.Application Center 2000 专家指南[M]. 袁勤勇,王福华,译. 北京:清华大学出版社,2002:191-224.
  [2] Microsoft ACE 小组,著.Microsoft .NET Web应用程序性能测试[M]. 王培宇,胡同森,译. 北京: 清华大学出版社,2003:38-52.
  [3] 陈绍英,夏海涛,金成姬.Web性能测试实践[M].北京:电子工业出版社,2006.
其他文献
摘要:分析了基于Web服务的Acegi安全框架的构架和实现原理,以Web服务中的HTTPForm为例,详细阐述了Acegi提供的认证和授权机制,并进一步探讨了Acegi安全框架的权限管理,以满足复杂的企业安全需求,从而提高了Web系统的安全性和稳定性。  关键词:Web服务;认证;授权;权限管理  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)23-897-03  R
期刊
摘要:首先给出了SOA概念,然后分析了Web服务体系结构,最后讨论了Web服务的开发方式。  关键词:SOA;Web服务  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)23-958-02  Research about Web Service Based on SOA  PENG Bo1,2  (1.School of Computer and Informatio
期刊
摘要:为了方便教学,让学生尽快掌握汇编语言程序设计的方法,开发了基于VC++的Windows下MASM集成汇编系统,该系统集成了微机汇编语言主要调试工具,实现了编程、编译、联接和动态调试等功能的一体化。实践证明:MASM集成汇编系统界面友好、操作方便,有较好的应用价值。  关键词:汇编语言;微机;教学;Visual C++;Windows  中图分类号:G640文献标识码:A文章编号:1009-3
期刊
摘要:无线自组织网络由不需要任何基础设施的一组具有动态组网能力的节点组成,因此网络可以通过节点路由发现机制转发分组,并进行路由维护。这种网络适应了军事和商用中对网络和设备移动性的要求,而引起了人们的关注,并在20世纪90年代以后获得了广泛的研究和发展。文章对DSR(动态源路由协议)的路由发现过程进行了优化,并采用OPNET仿真软件对基于DSR协议的Ad Hoc网络的路由开销和时延等关键参数进行了仿
期刊
摘要:函数的应用是Excel2003的精华部分,针对大学生计算机文化基础教学过程中经常遇到的情况,以大部分教材中没有讲述的RANK函数和SUMIF函数为例,详细分析了Excel2003中函数的应用过程及需要引起注意的问题,具有重要的实际应用价值。  关键词:Excel2003 ;函数 ;应用  中图分类号:TP317文献标识码:A文章编号:1009-3044(2008)23-999-03  Det
期刊
摘要:详细介绍了IPv4IPv6转换网关的设计与实现过程;首先介绍转换网关的工作流程,其次介绍地址转换和协议转换设计,最后分析了DNS ALG设计。  关键词:IPv6;IPv4;转换网关  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)23-883-02  Design and Implementation of IPv4/IPv6 Translation Gate
期刊
摘要:将IEEE 802.11b技术应用于工控网络,必须对无线网关进行有效监控。文章介绍了无线网关接入工业以太网的原理和的功能,对SNMP(SimpleNetworkManagementProtocol)管理模型及协议体系结构进行了分析,详细阐述了SNMP在嵌入式无线网关系统上的实现过程,并给出了测试结果。  关键词:嵌入式Linux;SNMP;无线网关;管理模型  中图分类号:TP393文献标识
期刊
摘要:XML的应用变得日益广泛,XML数据库技术也得到了迅速发展,当越来越多的数据资料以XML为标准格式进行存储时,却由于其格式的不同导致了传统的数据库及查询语法无法适用。分析了一种全新的XML查询语言XQuery,并对FLWOR表达式进行了重要阐述。   关键词:XML查询;XQuery;表达式  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)23-865-02  
期刊
摘要:文章整合JOSSO1.6+Struts2.0.11.1+Spring2.5.2+Hibernate3.2.6GA实现了一个具有较强扩展性、与其他系统的低耦合性、跨平台性以及较高的安全性等优点的开放式的Web单点登录平台。借助于该平台,只需对现有Web应用进行简单配置,就能实现多个Web应用的单点登录,重点介绍JOSSO的原理和单点登录的实现过程。  关键词:JOSSO;Web;单点登录;St
期刊
摘要:由于互联网所具有的广泛性和开放性,决定了互联网不可避免地存在着信息安全隐,进行身份认证就是必须的安全措施。本论文比较分析了常见的身份认证的方式的优缺点,并在此基础上讨论了USB Key认证方式的原理、特点,以及PKI体系的认证过程,重点上从软件设计和硬件设计两个角度完成了基于PKI体系下的USB Key认证客户端,对于提高身份认证技术的安全性具有一定的借鉴意义。  关键词:身份认证;UEB
期刊