Web服务器搭建完成上线在即,其能够承载多大的访问量,响应速度、容错能力等性能指标,所有这些是管理人员最想知道也最为担心的。如何才能知晓这一切呢?通过工具进行Web压力测试是个好方法。通过它可以有效地测试Web服务器的运行状态和响应时间等性能指标。
一、测试环境:
hardsoft:CPU:Athlon XP2500+、内存512MB、硬盘80GB
Server OS:Windows Server 2003
IIS: 6.0
BBS: 动网 7.0
IP: 192.1681.20
Tool:Web Application Stress Tool
二、工具介绍
可用来进行Web压力测试的工具有很多,比如微软的Web Application Stress、Linux下的siege、功能全面的Web-CT等等,这些都是非常优秀的Web压力测试工具。虽然这些工具给我们测试服务器承受能力带来方便,但是它们却是“双刃剑”,攻击者利用随便一种比较全面的测试工具就可以对一台小型的Web服务器发动灾难性的拒绝式攻击。
下面笔者就以微软的Web Application Stress Tool(简称WAST)为例进行一次Web压力测试。这是由微软的网站测试人员开发的专门用来进行实际网站压力测试以一套工具。透过这套功能强大的压力测试工具,管理人员可以在网站实际上线之前先网站进行如同真实环境下的测试,以找出系统潜在的问题,对系统进行进一步的调整、设置工作。
三、工具设置
下载并安装WAST,过程及其简单。然后运行WAST可以看到其界面非常简洁,在对目标Web服务器进行压力测试之前,首先要对它进行一些必要的设置。
1、设置并行连接数
点击左侧的“Defaults→Settings”打开设置面板。在Concurrent Connections下进行并行连接设置。Stress level (threads)是最少线程,Stress multiplier是最大线程。这里的线程是指定程序在后台用多少线程进行请求,也就是相当于模拟多少个客户机的连接,一般填写 500~1000,因为这个线程数是根据本机的承受力来设置的,如果你对自己的机器配置有足够信心的话,那么可以设置得更高一些。
2、设置持续时间
在“Test Run Time”中用来指定一次压力测试需要持续的时间,分为天、小时、分、秒几个单位级别。
3、其余设置
“Rpquest Delay”设置延迟时间,我们设置为100~500。
“Suspend”设置设定挂起时间。
Warmup时间是初始化测试运行时间。
cooldown时间就是指定结束阶段的测试时间。
Bandwith”指定带宽瓶颈,允许你模拟从14.4 Kbps的modem连接到T1 (1.5 Mbps)的Local Area Network (LAN)连接的网络带宽。
Redirects设置重定向时间。
“Throughput”设置用户、密码页面状态保存等是否启用
“Name resolution”设置是否进行名称解析。
所有以上的选项大家可以根据自己的需要进行设置。
四、压力测试
设置完成后就可以进行压力测试,测试的步骤如下:
第一步:点击工具栏上的“new script”按钮在打开的面板中点击“Nanual”按钮创建一个新的测试项目。在打开的窗口中对它进行设置,在主选项中的server中填写要测试的服务器的IP地址,这里我们填写192.168.1.20,在下方选择测试的Web连接方式,这里的方式Verb选择get,path选择要测试的Web页面路径,这里填写/Index.asp即动网的首页文件,WAST可以设置更多的Path。
第二步:在“Settings”的功能设置中将Stress level (threads)线程数设置为1000。完毕后,点工具中的灰色三角按钮即可进行测试。测试过程中我们可以从服务器的任务管理器中看到CPU使用率已经 达到100%,损耗率达到最大。在CMD窗口中使用命令netstat -an,可以看到客户端的IP地址在服务器上的80端口进行了非常多的连接见图6,而且Web网站已经打不开了,提示过多用户连接。
总结:通过Web压力测试,管理员对Web服务器的抗压能力有了大概的把握,从而根据实际需要可以进行服务器硬件扩展,同时也为系统设置、软件选择等提供了依据。总括来说,在Web服务器正式发布前进行压力测试是非常必要的。
分享到:
相关推荐
使用JMeter 对Web服务器压力测试
web服务器压力测试.docx
ab是Apache超文本传输协议(HTTP)的性能测试工具。 其设计意图是描绘当前所安装的Apache的执行性能, 主要是显示你安装的Apache每秒可以处理多少个请求。 本文通过实例,来阐述ab的使用和意义。
Imperva的首席安全工程师Barry Shteiman近期发布一个基于python的web服务器拒绝服务(dos)工具,称为: HULK (Http Unbearable Load King) 。测试下来一台4G内存的服务器,不到一分钟就瘫了。
熟练运用WAS (web application stress tool)软件进行web 压力测试
软件测试 图解用WAS对Web服务器进行压力测试 具体步骤
为了检测编写的web服务,所能达到的性能,选择一个压力测试工具
专门用于测试局域网内开发的WEB应用程序,可以测试java开发程序,可适用于B/S架构,C/S架构
WAST---Web服务器压力测试实例.pdf
WAST---Web服务器压力测试实例[收集].pdf
然而,这些工具中有许多只是简单的HTML/SOAP生成器,它们模拟许多客户机连接,并因此对Web服务器生成高负载。这些工具对基本的压力测试比较有用,但它们经常是仅仅扩展功能验证阶段来重复地执行相同的功能任务。如果...
对Web服务器进行压力测试.pdf
Microsoft Web Application Stress Tool WAS 服务器压力测试 使用说明
Web压力测试工具,能够对http服务器的承受能力进行测试。
缺点:由于不是在线方式,没有在线的分布式资源,因此不能做分布式压力测试,与真实的网络环境尚有些差距,但做为一种参考测试,完全没有问题。 网站 REST 服务器 压力负载强度等多项测试工具 德国Webserver Stress...
win版压力测试工具
北京火龙果软件工程技术中心Web压力测试是目前比较流行的话题,利用Web压力测试可以有效地测试一些Web服务器的运行状态和响应时间等等,对于Web服务器的承受力测试是个非常好的手法。Web压力测试通常是利用一些工具...
想对自己的网站和REST服务器进行压力、负载、强度等多种测试,发现有...缺点:由于不是在线方式,没有在线的分布式资源,因此不能做分布式压力测试,与真实的网络环境尚有些差距,但做为一种参考测试,完全没有问题。
程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量...但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。还可以测试HTTPS类的网站请求。
可以进行分布式多机并行测试,然后合并和计算机测试报告,实现极高的服务器测试压力。声明:WebStress只是为了测试目的,任何作为拒绝服务DoS和利用分布式测试功能实现分布式拒绝服务攻击DDoS都是违法的,后果由使用...