图解用WAS对Web服务器进行压力测试

你的 Web 服务器能够支持多少个并发用户的访问呢?你遇到过服务器遭受过 DDOS 的攻击而瘫痪吗?在这里给大家介绍微软网站测试人员开发的著名网站压力测试软件, Microsoft Web Application Stress ToolWASWeb应用负载测试工具), 而且还是免费的哦。
其下载地址:
[url]http://download.microsoft.com/download/a/8/2/a82e7ba7-c772-4ec4-b186-2cf147f42c11/setup.exe[/url]
WAS 是一款网站性能测试评估软件。它通过模拟大量并发用户同时访问服务器,以获取服务器的承受能力。像这种软件是把“双刃剑”,就看你用在哪一方面啦。如果没用好就会给你的服务器造成一定的损失,用好了可以及时的发现你的服务器能承受多大压力负载。以便及时的采取相应的措施防范。
要对网站进行负载测试首先需要创建 WAS 脚本来模拟用户访问等活动。
创建脚本的方法:
通过记录浏览器的活动;
通过导入 IIS 日志;
通过把 WAS 指向 Web 网站的内容;
或者手工制作。
这里我用是通过记录浏览器事件生成的脚本的一部分,
 
  一:测试前的准备
1.  在测试前清空 IE 浏览器其它网站的缓存和 Cookies 等临时文件。
二:测试脚本制作
1.  打开 WAS, 点击 Record
 
2. 勾选要记录的活动
3. 点击 Finish
4. 这时自动弹出一个浏览器新窗口,即开始记录你的浏览的内容。这时开始访问你要测试的网页。
5. 在你访问你的服务器时, WAS 都记录了这些活动,访问完成后点击 Stop Recording 结束记录。
6. 这时在脚本页可以看到收集到的脚本,在 Server 栏输入服务器的 IP 地址。
7. 删除延迟小的元素
8. 可以用 Ctrl 键同时选中多个,然后点击工具栏的删除按钮删除
 
9. 点击 Settings ,在这里可以设置例如发起的连接数,热身时间,带宽限制,以及测试要运行多长时间等参数。
 
Stress Level Stress multiplier 这二个项决定了访问服务器的并发连接的数量。 其中 Level 是客户端所产生的线程数,一个线程可以产生多个 Socket 并发请求,因此两者的数值相乘所获得的数值才是客户端同时发起连接并发数 。微软建议这这个 Stress Level 值不要超过 100 。如果要模拟的并发连接数量超过 100 个,可以调整 Stress multiplier 的值或使用多个客户机来测试
 
时间设置包括“ Test Run Time ”(测试运行时间)和“ Request Delay ”(停止响应)以及“ Suspend ”(挂起时间)三项。其中测试运行时间是以日、小时、分钟、秒的格式来设定的,建议该项时间不宜太短,如果设置的并发数较多,那么时间应该按比较增长,以便产生足够多的请求;而停止时间是指连接时超出这个时间即作超时处理;
 
warmup (热身)时间,一般可以设置为 1~3 分钟。在 warmup 期间 WAS 开始执行脚本,但不收集统计数据。 warmup 时间给 MTS 、数据库以及磁盘缓冲等一个机会来做准备工作。如果在 warmup 时间内收集统计数据,这些操作的开销将影响性能测试结果。
 
限制带宽( throttle bandwidth )。带宽限制功能能够为测试模拟出 Modem 14.k K 28.8 K 56 K )、 ISDN 64 K 128 K )以及 T1 1.54 M )的速度。使用带宽限制功能可以精确地预测出客户通过拨号网络或其他外部连接访问 Web 服务器所感受的性能。
. 测试压力
1. 点击工具栏的开始运行按钮
2. 点击 Run Test 开始测试
3. 正在测试服务器压力, time left 的时间为剩余时间.如果设置了热身时间则会先出现倒计时为WARMUP的
4. 如果提示 RPC 服务不可用,请查看 PRC 服务是否开启,并设置成自动. 还可能是你的脚本错误,这种情况下删除当前脚本,重新收集就没问题啦
 
5.这时可以用 netstat �Can 来查看是否开启了很多连接,其中 state established 的表示已连接上
 
6. 查看 CPU 大部分进程都被 Webtool 所占用
7. 查看 CPU 的使用率
8. 用性能监视器查看当前性能
9. 查看服务器端的性能
四.查看测试报告,分析数据
1. 点击工具栏的报告,查看测试报告
2. 着重查看“Socket Errors”部分和“Result Codes”部分。其中Socket Errors部分共分为ConnectSend RecvTimeouts。其中Connect表示客户端不能与服务器取得连接的次数;Send表示客户端不能正确发送数据到服务器的次数;Recv表示客户端不能正确从服务器连接次的次数;Timeouts表示超时的线程数目。如果这四个数值都比较小,甚至为0则说明这个服务器是经得起考验的;如果数值居高不下,甚至接近设置的并发数,那么则要好好的检查你的服务器了
Result Codes”部分,如果Code列表下的数值都为200,那么表示所有请求都经服务器成功返回,如果数值出现400或大于400,例如404,那么则需要在左侧找到“Page Data”节点,查看具体的错误项目,然后作出相应的修改。
3. 速度
4 连接数,服务器 IP,. 时间参数
5. 测试最好由多台客户机来测试,不要在一台测试机上设置超大的连接数Stress Level,且这些测试机分布在不同的地方。在你测试服务器的内网会出现网页无法显示,访问其他网站的网页也打不开,这时可以让不跟你在同一个局域网内的朋友访问试一下你的服务器。不断的增加或减少连接数,经过多次测试才知道这个服务器能承受多大压力。如果是IIS搭建的服务器还可以修改允许的最大连接数。得到数据后分析数据,服务器资源分布,响应处理速度,大量用户或遭到攻击时该采取哪些相应的措施,以及性能优化。
 
 
(为了大家更好的访问51CTO,请大家不要以51cto为服务器做压力测试。我这里只是为了宣传51cto才用的,并设置的连接数也不大。)

你可能感兴趣的:(职场,休闲,网站压力测试,负载测试,WAS压力测试)