欢迎来到天天文库
浏览记录
ID:14348756
大小:370.50 KB
页数:10页
时间:2018-07-28
《微软web应用负载测试工具was教程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、微软Web应用负载测试工具WAS教程来源:E网中国作者:Liuhui发布时间:2007-07-20 你的Web服务器和应用到底能够支持多少并发用户访问?在出现大量并发请求的情况下,软件会出现问题吗?这些问题靠通常的测试手段是无法解答的。本文介绍了Microsoft为这个目的而提供的免费工具WAS及其用法。另外,本文介绍了一种Web应用的性能优化方法,并利用WAS测试了它的性能改善程度。原文出处:http://www.asptoday.com/articles/20000420.htm 编译如下: 随着服务器端处理任务的日益复杂
2、以及网站访问量的迅速增长,服务器性能的优化也成了非常迫切的任务。在优化之前,最好能够测试一下不同条件下服务器的性能表现。找出性能瓶颈所在是设计性能改善方案之前的一个至关紧要的步骤。 本文介绍Microsoft的WebApplicationStressTool(WAS,Web应用负载测试工具)在Web服务器性能测试中的应用(注:Stress基本含义为“重压;压力”等,本文称之为“负载”)。另外,我们还将通过WAS评估一种相对简单的网站性能改善方法,这种方法的基本思想是在服务器上生成静态的HTML页面、避免过多的数据库调用。 负载
3、测试是任何Web应用的开发周期中一个重要的步骤。如果你在构造一个为大量用户服务的应用,搞清楚你的产品配置能够承受多大的负载非常重要。如果你在构造一个小型的Intranet网站,测试能够暴露出最终会导致服务器崩溃的内存漏洞以及竞争情况。www.host0y.com 无论是哪种情形,花些时间对应用进行负载测试可以获得重要的基准性能数据,为未来的代码优化、硬件配置以及系统软件升级带来方便。即使经费有限的开发组织也可以对它们的网站进行负载测试,因为Microsoft的WAS是可以免费下载的。WAS要求WindowsNT4.0SP4或者更
4、高,或者Windows2000。为了对网站进行负载测试,WAS可以通过一台或者多台客户机模拟大量用户的活动。WAS支持身份验证、加密和Cookies,也能够模拟各种浏览器类型和Modem速度,它的功能和性能可以与数万美元的产品相媲美。如果你对WAS和Microsoft的另外一个测试工具WebCapacityAnalysisTool(WCAT)之间的差别感兴趣,可以访问MicrosoftWeb工具的比较页面。要对网站进行负载测试首先必须创建WAS脚本模拟用户活动。我们可以用下面四种方法之一创建脚本:通过记录浏览器的活动;通过导入II
5、S日志;通过把WAS指向Web网站的内容;或者手工制作。图1所显示的是通过记录浏览器事件生成的脚本的一部分,网站是Microsoft的DuwamishBookStore。Duwamish是Microsoft开发的电子商务Web应用示例,从Duwamish网站的“Phase4”链接可以下载这个软件包。下载包中包含了它自己的WAS测试脚本。10www.host0y.com 【图1】 制作WAS脚本是相当简单的,不过要制作出模拟真实用户活动的脚本有点儿复杂。如果你已经有一个运行的Web网站,可以使用Web服务器的日志
6、来确定Web网站上的用户点击分布。如果你的应用还没有开始运行,那么只好根据经验作一些猜测了。 图1这个脚本中我们假定有30个会员在浏览书店,同时又有一个会员正在购买。要模拟两者混合而成的行为,首先必须创建页面组并在脚本的PageGroup分枝确定点击分布情况。在PageGroup分枝中我们可以增加、修改或删除页面组,也可以为各个组修改流量的分布。 图2显示了grp_browse和grp_buy这两个页面组以及30比1的流量分布。H0ST0Y.comH0stoy.com 【图2】 10创建了页面组之后,我们就
7、可以在主脚本视图中赋予各个请求不同的页面组,如图3所示。为每个请求指定页面组相当于告诉WAS如何分布流量。记住在本例中对grp_buy组页面的请求约占总数的3%,而对grp_browse组页面的请求约占97%。H0stoy.com主机之家 【图3】 如果需要在查询字符串中传递“名字-值”对,可以用WAS的查询字符串编辑器来定义各个变量的所有可能的值。在输入变量值后,既可以要求WAS顺序地使用变量的各个值,也可以要求WAS在请求时随机选择变量值。这在一定程度上增加了脚本所模拟行为的真实性,也可以帮助避免缓冲对测试
8、结果的影响准备好测试脚本之后,我们可以调整测试配置以便观察不同条件下的应用性能。图4是WAS的设置界面。www.hostoy.com10 【图4】 StressLevel和Stressmultiplier这二个项决定了访问服务
此文档下载收益归作者所有