JAVA使用Microsoft Web Application Stress Tool对web进行压力测试

转自http://blog.csdn.net/zhangzhentao/article/details/1394348

Web压力测试是目前比较流行的话题,利用Web压力测试可以有效地测试一些Web服务器的运行状态和响应时间等等,对于Web服务器的承受力测试是个非常好的手法。Web 压力测试通常是利用一些工具,例如微软的Web Application Stress、Linux下的siege、功能全面的Web-CT等等,这些都是非常优秀的Web压力测试工具。

虽然这些工具给我们测试服务器承受能力带来方便,但是它们的危害却更是惊人,甚至于利用随便一种比较全面的测试工具就可以对一台小型的 Web服务器发动灾难性的拒绝式攻击。下面我就带大家利用微软的Web Application Stress进行一次Web压力测试,其目的是为了让大家看到它的巨大危害。

一、工具简单介绍

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

小提示:D.O.S(拒绝服务攻击)通过使你的服务计算机崩溃或把它压跨来阻止你提供服务。简单来说,就是让你的计算机提供可能多的服务从而使你的计算机陷入崩溃的边缘或崩溃。

二、工具简单设置

打开Web Application Stress Tool,很简洁的一个页面(如图1),上面是工具栏,左下方是功能选项,右下方是详细设置选项。在对目标Web服务器进行压力测试之前,先对它进行一些必要的设置。

图1


1. 在“settings”的功能设置中(如图2),一个是Stress level (threads)这里是指定程序在后台用多少线程进行请求,也就是相当于模拟多少个客户机的连接,更加形象的就是说设置多少轰炸的线程数。一般填写 500~1000,因为这个线程数是根据本机的承受力来设置的,如果你对自己的机器配置有足够信心的话,那么设置的越高,轰炸的效果越好。

图2

2.在“Test Run Time”中来指定一次压力测试需要持续的时间,分为天、小时、分、秒几个单位级别,你根据实际情况来设置吧!

3.其余的选项不太重要,这里就不再浪费笔墨,朋友们可以自己尝试一下设置。

三、压力测试

工具介绍完了,下面来准备条件:这里与一个朋友商量好进行测试,他是单机上网,机器配置是CPU:Athlon XP2500+、内存512MB、硬盘80GB等,机器配置还不错。他在机器上安装了IIS,架设了一台对外的Web服务器,Web服务中的程序是动网 7.0。我就利用压力测试工具对这台服务器进行测试。

步骤1:在工具中点右键,选择Add命令,增加了一个新的测试项目:New script,对它进行设置,在主选项中的server中填写要测试的服务器的IP地址。在下方选择测试的Web连接方式,这里的方式Verb选择 get,path选择要测试的Web页面路径,这里填写/Index.asp,即动网的首页文件(如图3)。

图3

步骤2:在“Settings”的功能设置中将Stress level (threads)线程数设置为1000。完毕后,点工具中的灰色三角按钮即可进行测试(如图4)。测试完毕,等待朋友把任务管理器以及连接查看的截图发过来!

图4

攻击开始后,朋友从任务管理器中可以看到CPU使用率已经达到100%,损耗率达到最大(如图5)。在CMD窗口中使用命令netstat -an,可以看到我的IP地址在朋友服务器上的80端口进行了非常多的连接(如图6)。而且它的Web网站已经打不开了,提示过多用户连接,达到了跟 D.O.S攻击一样的目的。

图5

图6

试想,如果利用多台肉鸡对一台服务器进行Web压力测试,那么对这台服务器来说将是灭顶之灾,所以朋友们在使用它之前一定要慎重考虑。


你的Web服务器和应用到底能够支持多少并发用户访问?在出现大量并发请求的情况下,软件会出现问题吗?这些问题靠通常的测试手段是无法解答的。本文介绍 了Microsoft为这个目的而提供的免费工具WAS及其用法。另外,本文介绍了一种Web应用的性能优化方法,并利用WAS测试了它的性能改善程度。 随着服务器端处理任务的日益复杂以及网站访问量的迅速增长,服务器性能的优化也成了非常迫切的任务。在优化之前,最好能够测试一下不同条件下服务器的性能表现。找出性能瓶颈所在是设计性能改善方案之前的一个至关紧要的步骤。    本文介绍MicrosoftWeb Application Stress Tool(WAS,Web应用负载测试工具)在Web服务器性能测试中的应用(注:Stress基本含义为“重压;压力”等,本文称之为“负载”)。另 外,我们还将通过WAS评估一种相对简单的网站性能改善方法,这种方法的基本思想是在服务器上生成静态的HTML页面、避免过多的数据库调用。   负载测试是任何Web应用的开发周期中一个重要的步骤。如果你在构造一个为大量用户服务的应用,搞清楚你的产品配置能够承受多大的负载非常重要。如果你在构造一个小型的Intranet网站,测试能够暴露出最终会导致服务器崩溃的内存漏洞以及竞争情况。 无论是哪种情形,花些时间对应用进行负载测试可以获得重要的基准性能数据,为未来的代码优化、硬件配置以及系统软件升级带来方便。即使经费有限的开发组 织也可以对它们的网站进行负载测试,因为Microsoft的WAS是可以免费下载的。WAS要求Windows NT 4.0 SP4或者更高,或者Windows 2000。为了对网站进行负载测试,WAS可以通过一台或者多台客户机模拟大量用户的活动。WAS支持身份验证、加密和Cookies,也能够模拟各种浏 览器类型和Modem速度,它的功能和性能可以与数万美元的产品相媲美。如果你对WAS和Microsoft的另外一个测试工具Web Capacity Analysis Tool (WCAT)之间的差别感兴趣,可以访问Microsoft Web工具的比较页面。 要对网 站进行负载测试首先必须创建WAS脚本模拟用户活动。我们可以用下面四种方法之一创建脚本:通过记录浏览器的活动;通过导入IIS日志;通过把WAS指向 Web网站的内容;或者手工制作。图1所显示的是通过记录浏览器事件生成的脚本的一部分,网站是Microsoft的Duwamish Book Store。Duwamish是Microsoft开发的电子商务Web应用示例,从Duwamish网站的“Phase 4”链接可以下载这个软件包。下载包中包含了它自己的WAS测试脚本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值