Microsoft Web Application Stress Tool 使用
为了测试数据的准备性,首先需要删除缓存和Cookies等临时文件。启动IE后打开“工具”菜单下的“Internet”选项命令,在打开的“Internet选项”窗口的“常规”选项卡中,单击“Internet临时文件”区域的“删除Cookies”和“删除文件”按钮将临时文件删除。如果你的浏览器默认不是IE,最好改为IE,同时首页就设置为要测试的系统,否则一旦打开浏览器就去访问一些莫名其妙的网站,访问记录就会多出非常多的杂项。以下WAS即代表Microsoft Web Application Stress Tool
安装并启动WAS,程序运行时默认会打开Create new script对话框,即建立一个新的脚本窗口,如果运行WAS没有打开该窗口可以单击WAS主程序窗口工具栏上第一个按钮New Script即可
因为是初次使用,所以在新建脚本窗口上单击Record按钮打开创建向导对话框
三个选项的作用是选择要记录的内容,分别为Request(请求)、Cookies(网上信息块)以及Host headers(主机标题),可根据需要选择
然后单击Next,单击Finish按钮。这样WAS会自动启用,并且会打开一个浏览器窗口,此时我们就可以在浏览器的地址栏中输入要测试的网站网址。随着要测试的网站内容的不断显示,在WAS主界面的Recording选项卡中的信息会实时更新
你可以将所有要测试的路径都点击一遍,这样工具就会记录上所需测试的路径
当浏览器的状态栏显示为完成时,我们就可以返回WAS窗口,单击Stop Recording按钮返回脚本窗口,注意Server里面写的是localhost,注意修正为自己所访问服务的地址,这里不需要端口
然后在单击New Recorded Script下的Settings标签,其中Concurrent Connections是设置并发连接数的,其下面的Stress level (threads)和 Stress multiplier(sockets perthread)分别设置对目标服务器的压力及负载程度的,其中Level是客户端所产生的线程数目,一个线程可以产生多个Socket并发请求,因此将两者的数值相乘,所获得的数字就是客户端同时连接的并发数
时间设置包括Test Run Time(测试运行时间)和Request Delay(停止响应)以及Suspend(挂起时间)三项。其中测试运行时间是以日、小时、分钟和秒来设定的,建议该项时间不宜太短,如果设置的并发数较多,那么时间应该按比较增长,以便产生足够多的请求;而停止时间是指连接时超出这个时间即作超时处理;在挂起时间处部分为Warmup和Cooldown两项,一般可以设置为两三分钟为宜,这样做的目的是避免测试开始和结束时数据的变形,影响测试的准确性
同时我们可以设置各个请求路径的访问概率,当然由于这里只有一个连接,就不再设置
然后就是查看测试报告,在测试报告中最重要的部分就是Socket Errors部分和Result Codes部分。其中Socket Errors部分共分为Connect、Send 、Recv和Timeouts。其中Connect表示客户端不能与服务器取得连接的次数;Send表示客户端不能正确发送数据到服务器的次数;Recv表示客户端不能正确从服务器接次的次数;Timeouts表示超时的线程数目
然后为什么又给了一个附件呢?因为很多人拿到此类工具估计就是测试别人的网站了,这样很容易让网站防火墙把你毙掉的
所以这里作一个非常小的程序,里面只有一个监听,收到连接就打印此时网站总访问次数+会话ID+访问时间,对比打印的访问次数和测试报道中的Hits,可以看到是是一样的
另外大家估计也看出了另外一个端倪,那就是每次模拟请求的会话ID是不一样的,如果在有权限的系统中,如果请求非登录路径,这是会被拒绝的,所以一般系统都会有一个开发模式的设置,注意打开即可
请您到ITEYE网站看原创,谢谢!
http://cuisuqiang.iteye.com/ !
自建博客地址:http://www.javacui.com/ ,内容与ITEYE同步!