Duwamish Online
Aaron Ching, Pedro Silva, and Allen Wagner
Microsoft Developer Network
January 2001
摘要:这篇文章讨论了性能测试对于成功发布一个网络应用的重要性,集中讨论了微软的Web Application Stress (WAS)这个用于测试Duwamish Online的性能的工具。
内容
介绍
使用WAS的好处
WAS的缺陷
安装WAS
创建测试脚本
配置测试脚本
运行测试脚本
结论:最好的习惯
介绍
性能测试是成功发布一个网络应用的关键因素。当越来越多的用户访问你的站点时,清楚地知道你的应用程序和你的服务器群是怎样工作的就显得非常重要了。
为了给你的网络应用程序模拟出那种类型的使用,你可以协同几百甚至上千的真实用户在一段设计好的时间段里访问你的站点,你也可以只与一个能复制这么多用户负载的测试工具一起工作,
许多性能测试工具可以帮你的忙。基本上,这些工具都允许你以有限的客户端模拟大量的虚拟用户,并发地访问预先确定的页面或网站的URLs (Uniform Resource Locators)。每一个虚拟用户都能精确地仿效在真实浏览器和网站服务器之间进行通讯协议。
在这篇文章里,我们将专注于其中一个这样的工具:Microsoft® Web Application Stress (WAS)工具。你可以在微软的Microsoft Windows® 2000 Resource Kit CD (WAS version 288)里面找到这个工具。
注意 WAS不能再从Microsoft的网站下载了,Visual Studio .NET 的企业架构 和 企业开发版本都包含一个新的网络压力测试工具,这个工具叫做Application Center Test,是受Microsoft技术支持的工具。这个工具包含在Visual Studio .NET安装时的Enterprise Development Tools部分。在写这篇文章时,Application Center Test还没有正式公开发表。关于如何得到Visual Studio .NET,请访问Visual Studio网站。
使用WAS的好处
首先,我们来讨论一下使用WAS测试你的应用程序的好处。
它简单
WAS允许你以不同的方式创建测试脚本:你可以通过使用浏览器走一遍站点来录制脚本,可以从服务器的日志文件导入URL,或者从一个网络内容文件夹选择一个文件。当然,你也可以手工地输入URL来创建一个新的测试脚本。
不像其它的工具,你可以使用任何数量的客户端运行测试脚本,全部都有一个中央主客户端来控制。在每一个测试开始前,主客户机透明地执行以下任务:
· 与其他所有的客户机通讯
· 把测试数据分发给所有的客户端
· 在所有客户端同时初始化测试
· 从所有的客户端收集测试结果和报告
这个特性非常重要,尤其对于要测试一个需要使用很多客户端的服务器群的最大吞吐量时非常有用。
它的高可用性
WAS是被设计用于模拟Web浏览器发送请求到任何采用了HTTP1.0或1.1标准的服务器,而不考虑服务器运行的平台。
除了它的易用性外,WAS还有很多其它的有用的特性,包括:
· 对于需要署名登录的网站,它允许创建用户帐号。
· 允许为每个用户存储cookies 和Active Server Pages (ASP) 的session信息
· 支持随机的或顺序的数据集,以用在特定的名字-值对
· 支持带宽调节和随机延迟(“思考的时间”)以更真实地模拟显示情形。
· 支持Secure Sockets Layer (SSL)协议
· 允许URL分组和对每组的点击率的说明
· 提供一个对象模型,可以通过Microsoft Visual Basic® Scripting Edition (VBScript)处理或者通过定制编程来达到开启,结束和配置测试脚本的效果。
WSA的缺陷
除了优势外,WAS的确有一些缺陷存在。当前知道的bug和有关事项都列在WAS的网站上了。以下是当前WAS不支持的特性:
· 以前面所发请求返回的结果为基础,修改URL参数的能力。
· 运行或模仿客户端逻辑的能力
· 为所分配的测试指定一个确定数量的测试周期的能力。
· 对拥有不同IP地址或域名的多个服务器的同时测试能力
注意 你可以使用多个主客户端来同时测试多个服务器。然而,如果你想把所有测试结果联系起来成为一个整体,则需要整理从各个WAS数据库得到的数据
· 支持页面在不同IP地址或域名间的重定向的能力
· 从Web浏览器直接记录SSL页面的能力
注意 WSA已经支持SSL页面的测试,但是没有记录它们。你需要在脚本录制完后,手工地为每个设计
1