Microsoft Web Application Stress Tool

郑文强 2011-07-17

Microsoft Web Application Stress Tool 是由微软的网站测试人员所开发,专门用来进行实际网站压力测试的一套工具。透过这套功能强大的压力测试工具,您可以使用少量的Client端计算机仿真大量用户上线对网站服务所可能造成的影响,在网站实际上线之前先对您所设计的网站进行如同真实环境下的测试,以找出系统潜在的问题,对系统进行进一步的调整、设置工作。

MicrosoftWebApplicationStress具有以下几个特性:

*可以数种不同的方式建立测试指令:包含以手动、录制浏览器操作步骤、或直接录入IIS的记录文件、录入网站的内容及录入其它测试程序的指令等方式。

*支持多种客户端接口:标准的网站应用程序C++的客户端,使用ActiveServerPage客户端,或是使用WebApplicationStress对象模型建立您自定的接口。.

*支持多用户利用多种不同的认证方式仿真实际的情况,包含了DPA,NTLM及SSL等。

*支持使用动态的cookie仿真定制网站实际运作场景及对话(session)的支持。

*在客户端的计算机以NT服务的方式执行仿真的工作,可在不中断测试的情况下将某些客户端的测试计算机删除。

*透过集中式的MicrosoftWebApplicationStress管理员,您可以使用任意数目的客户端计算机同时进行测式的工作。

*具有Bandwidththrottling(带宽遏流)的功能以仿真用户使用调制解调器上线的效果。

*内建的query-string编辑器可帮助您建立name-valuepair组合的模板,并可在不同的场景测试中重复使用。

*可程序化的对象模式让您可以建立您自己的测试客户端。

*汇总的测试报告及丰富的性能测试资料。

*支持域名系统(DNS)让您可以测试整个群集(Cluster)的机器。

*使用Pagegroup的方式来控制文件的组及测试指令的执行程序。

*可自定的header让您可以仿真各种不同种类的浏览器。

*可自定的指令延迟让您以更接近真实环境的方式进行测试。

网站测试概述

为了正确使用WAS进行网站的压力测试,您需要对于网站测试的方法有一初步的了解。以下的讨论将包含一些基本的概念以供参考。

网站的测试可大略分成三个主要的类别:

*网站性能测试(Performancetesting)

*压力测试下的网站稳定性(Stabilityorstresstesting)

*网站承受能力评估(Capacityplanning)

网站性能测试的第一件工作就是使用测试工具对网站加压以测量网站服务器每秒可以承受的请求(RequestPerSecond)的最大值。第二件工作就是找出系统性能限制的原因所在,举例来说,CPU、内存、或是后端系统所造成的反应延迟等。

在许多状况下,网站服务器的CPU是主要的性能瓶颈。测试时您可以持续加压直到性能表现开始下降,再慢慢的降低压力的程度。此时您所测试出来的最大性能即为该网站所能达到的最高值。在实际测试时,您可以通过增加压力线程(thread),或是增加执行WAS测试程序的客户端来加压。

在网站服务器端,您可以使用性能监视工具如PerformanceMonitor来监视如"System:%TotalProcessorTime"及"WebService:ConnectionAttempts/sec"或"ActiveServerPages:RequestsQueued"等指针。如果CPU的资源指针已达到80%到85%,则CPU的处理能力最有可能就是整个系统的瓶颈所在。若是在压力测试的过程中CPU所被使用的比例不高而”RequestsQueued”的指针一直居高不下,可能是程序正在调用服务器上的COM组件而这个组件无法有效的执行完所有的命令,因而造成了系统性能的降低。在这种情形下,服务器上的COM组件才是真正的瓶颈。

目前市场上最热门的定制网站应用程序也会对网站的性能表现有重大的影响。WAS包含了数种特性可有效的帮助您测试定制的网站应用程序。例如,您可以建立用户,让WAS可以设置并储存每一个用户的cookie。您也可以使用QueryString编辑器帮助您建立并储存数个不同的name-valuepair以便在每一次执行request时进行测试。

一般的网站测试问题

*错误的测试平台,和实际上线的productionserver(生产环境服务器)不同,无法测出实际的问题。

*错误的测试指令,无法正确的仿真出实际上线系统真正的反应。

*线程安全性问题以及不稳定的服务器COM组件。

  * Active Server Page 的错误及GLOBAL.ASA 设置的问题。
 

使用说明

一、建立新脚本

方法一、启动WAS软件后会自动显示建立新脚本的提示页面,选择[manual]按钮就可完成建立新脚本的功能。

方法二、启动WAS软件后点击[newscrīpt]按钮。

二、编辑脚本内容

1、在选择脚本名称的右侧会出现相应的设置

[server]中输入要进行测试的服务器IP地址或计算机名称;

[verb]中选择脚本运行方式get、post、head;

[path]中输入向服务器提交的文件或字符串。

2、[contenttree]该项在默认情况下不做更改。

3、[settings]设置测试持续时间

在“testruntime”各项中输入相应数字即可。

4、[perfcounters]该项在默认情况下不做更改。

5、[pagegroups]该项在默认情况下不做更改。

6、[users]选项下双击[default]或单击[showusers]快捷键进入用户设置页面。

在[username]和[password]中输入服务器认可的用户和密码,点击[create]按钮完成添加用户功能。

删除用户时只需要点中用户左侧按钮选中该行后点击[删除]快捷键。

[numberofnew]项不能设为“0”,否则添加无效。

7、[clients]双击[default]进入设置页面

在[machine]输入添加客户的计算机名后点击[add]按钮,在默认状态下只有“localhost”客户连接,添加的其他客户均离线。选中的客户会在报告中显示。

8、[cookies]自动显示用户的状态。

三、web测试

1、选择运行脚本名称

2、在[scrīpt]菜单中选择[run]或者点击[运行脚本]快捷键

四、测试报告

1、点击[report]快捷键出现报告目录

2、选择脚本名称以及详细测试时间文件

说明:TTFB表示从请求开始到WAS收到的时间

TTLB表示最后一个请求从WAS反馈到客户端的时间

五、删除脚本

选择要删除的脚本名称后点击[删除]快捷键

六、菜单说明

1、[file]下的[new]初始化WAS软件,并非新建立;

2、[file]下的[open]打开以前保存的文件。

相关推荐

niehanmin / 0评论 2011-04-21