运用WAS进行Web负载测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运用WAS进行WEB负载测试
随着网络服务器端处理任务的日益复杂,以及网站访问量的迅速增长,服务器性能的优化已成为非常迫切的任务。在性能优化之前,测试不同条件下服务器的性能表现,并找出影响性能瓶颈所在,将是Web设计性能改善方案的重要依据。
在构造一个Intranet 网站时,负载测试是任何Web 应用开发周期中一个重要的环节。在构造一个为大量用户服务的应用之前,搞清楚产品配置能够承受多大的负载十分重要,测试能够暴露出最终会导致服务器崩溃的内存泄漏、访问阻塞等情况。
但是在实际的构建过程中,若要按照系统真实运行的情况,组织成千上万的用户来进行压力测试,无论从那个方面进行实施,都是不现实的。因为一旦发现了问题,不仅需要重复的进行这种耗费资源巨大的测试,而且问题并一定能够重现,并不能方便的找出性能的瓶颈或问题所在。解决这个问题的办法是通过使用软件的办法解决,通过进行软件模拟的方法进行,这就是负载的压力测试。
无论哪种情形,对运用软件进行负载测试可以获得重要的基准性能数据,为未来的代码优化、硬件配置
l e x y
以及系统软件、硬件更新与升级带来依据和提供数据。
1 Web服务器负载测试软件介绍
WAS(Microsoft Web Application Stress Tool,Web 应用负载测试工具)提供了一种简单的方法模拟大量用户进行访问目标网站。这个测试工具能够提供Web 应用程序工作时对硬件和软件的使用情况。为了有效的对Web 应用程序进行负载(压力)测试,Microsoft 发布了简单易用,功能强大的工具WAS。
WAS 要求具备的操作系统必须是Windows NT 4.0 SP4 或者Windows 2000 Server,Internet Explorer 4.0 以上版本。为了对网站进行负载测试,WAS 可以通过一台或者多台客户机模拟大量用户访问Web网站的活动。WAS 支持身份验证、加密和Cookies,也能够模拟各种浏览器类型和Modem 速度,它的测试功能和性能表现良好。
使用WAS时,为了更加接近真实的进行压力测试,通常推荐运行WAS的测试机和Web服务器分开。
2 Web Application Stress Tool的设置及其操作
2.1 主界面窗口
第一次安装完W AS后,可在本机操作系统(以Windows 2000 Server为例)中找到主界面,通过单击执行,其步骤是:
开始->程序->Microsoft Web Application Stress Tool。
第一次执行时会出现一个Create new script 的界面。
2.2 制作生成脚本
1.开始使用WAS
要对网站进行负载测试首先必须创建WAS 脚本模拟用户的活动。可以用下面四种方
法之一创建脚本:
l通过记录浏览器的活动。
l通过导入IIS 日志。
l e x y
l通过把WAS 指向Web 网站的内容。
l手工制作。
这里通过最常用的方法——通过记录浏览器的活动来讲解。其他三种方法在后面将会提到。
图1 简单的Script(脚本)界面
2.录制测试脚本
在录制测试脚本前,需要首先关闭IE 的缓冲区。
(1)在工具菜单,点Internet 选项
(2)点常规标签,然后点删除文件按钮。
如果使用IE5.0 或以上版本则不需要修改代理设置,因为5.0 以上版本的IE 允许WAS改变这些设置。而对于IE4.0 或早期版本,WAS 使用一个内置的代理服务器来记录浏览器活动。
按WAS 的需要指定代理设置:
l在工具菜单,点Internet 选项。
l在连接标签里,修改代理设置以使代理服务器指向Localhost,并且使用端口8000。
l不选“对于本地地址不使用代理服务器”选项。
l 打开菜单,选择Scripts|Create|Record创建一个测试脚本。
选取要记录的内容,有下面3 种。
l e x y
图2
Record delay between request:记录了请求之间的延迟。由于用户实际上在浏览网站时,对于请求之间存在几秒甚至几分钟的延迟,这种录制方法在执行时会模仿用户之间的延迟发送请求,所以会是一个更加实际的测试。如果测试的目的是要发现Web 应用程序的承受极限,就不要选择该项;如果只是想模拟一个特定数量的用户场景,那么选择该项进行测试捕捉请求延迟。
Record browser cookies & Record the host header:只记录用户的会话,不记录延迟时间。
一般情况下,不需要选择这两项,可以让WAS 创建cookies 和host header,这就如同用户登录某个网站一样。然而,如果有网站的回归信息时(比如一个用户的主要特征信息或者与一个永久性cookies 相连的其他信息),在模拟一个新的用户登录网站和进行必要的用户配置测试前,必须保证清除cookies,如果Web 应用程序需要用户接受cookies,那么需要选中该选项。
目前这个版本的WAS 软件对基于浏览器IE录制脚本的方式还不支持HTTP/SSL 请求。
一般情况下,只选择后二种会增加压力的强度。
根据压力测试实际的情况,选择合适的选项,然后点“Next | Finish”,WAS会打开一个IE
窗口,在IE中输入要测试的站点地址,然后就可以按照实际的情况开始浏览站点了,浏览的同时也就是执行测试用例的过程。
图3 测试前确定站点地址
等测试用例执行完成后,切换到WAS 窗口,点“Stop Recording:”按钮,停止录制脚本。
图4 录制结果
WAS 回到了视图页面,在该页面中可以看到在录制过程中WAS 收集的每一个链接,并且
还可编辑GET 、POST 以及HEAD 信息。
制作WAS 脚本较为简单,但要制作出模拟真实用户活动的脚本有些复杂。如果已经有一个
运行的Web 网站,可以使用Web 服务器的日志来确定Web 网站上的用户点击分布。如果应
用还没有开始运行,那么只好根据经验作一些猜测了。
l e
x y