Web 服务器压力测试实例详解

发表于 2012-1-6 14:53 | 来自  51CTO网页

Web 服务器搭建完成上线在即,其能够承载多大的访问量,响应速度、容错能力等性能指标,所有这些是管理人员最想知道也最为担心的。如何才能知晓这一切呢?通过工具进行 Web 压力测试是个好方法。通过它可以有效地测试 Web 服务器的运行状态和响应时间等
性能指标。

一、测试环境:

服务器操作系统:w indow s XP  专业版(32 位/SP2/DirectX 9.0c )
Web 服务器:Apache 2.2.9
IP 地址:略
压力测试工具:Web Application Stress Tool
硬件:

l     处理器:英特尔 酷睿 2  四核 Q9505 @2.83GHZ
l     主板:富士通-西门子 D2817-A1(英特尔 4Series  芯片组-ICH10DO)
l     内存:4GB(三星 DDR2 800MHZ)
l     主硬盘:日立 HDT721050SLA360(500G B)
l     显卡:英特尔 Q45/Q43 Express Chipset(Fujitsu-Siemens)
l     网卡:英特尔 82567LM-3 Gigab it Netw ork Connection/Fujitsu-Siemens

二、工具介绍

可用来进行 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,因为这个线程数是根据本机的承受力来设置的,如果你对自己

的机器配置有足够信心的话,那么可以设置得更高一些。(图 1)

 
图 1

2、设置持续时间

在“Test Run Time”中用来指定一次压力测试需要持续的时间,分为天、小时、分、

秒几个单位级别,比如我们设置为 1 个小时。(图 2)

图 2

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”设置是否进行名称解析。所有

以上的选项大家可以根据自己的需要进行设置。(图 3)

图 3

四、压力测试

设置完成后就可以进行压力测试,测试的步骤如下:

第一步:点击工具栏上的“new script”按钮在打开的面板中点击“Nanual”按钮创

建一个新的测试项目。在打开的窗口中对它进行设置,在主选项中的 server 中填写要测试

的服务器的 IP 地址,这里我们填写 192.168.1.20,在下方选择测试的 Web 连接方式,这

里的方式 Verb 选择 get,path 选择要测试的 Web 页面路径,这里填写/Index.asp 即动网

的首页文件,WAST 可以设置更多的 Path。(图 4)

图 4

第二步:在“Settings”的功能设置中将 Stress level (threads)线程数设置为 1000。

完毕后,点工具中的灰色三角按钮即可进行测试。测试过程中我们可以从服务器的任务管

理器中看到 CPU 使用率已经 达到 100%,损耗率达到最大见图 5。在 CMD 窗口中使用命令

netstat -an,可以看到客户端的 IP 地址在服务器上的 80 端口进行了非常多的连接见图 6,

而且 Web 网站已经打不开了,提示过多用户连接。(图 5)(图 6)

图 5

图 6

总结:通过 Web 压力测试,管理员对 Web 服务器的抗压能力有了大概的把握,从而根

据实际需要可以进行服务器硬件扩展,同时也为系统设置、软件选择等提供了依据。总括

来说,在 Web 服务器正式发布前进行压力测试是非常必要的。

时间: 2024-07-28 23:14:31

Web 服务器压力测试实例详解的相关文章

[转]web服务器压力测试工具

http_load学习心得: 测试网站每秒所能承受的平均访问量(吞吐量) http_load -parallel 5 -fetches 1000 urls.txt这段命令行是同时使用5个进程,随机访问urls.txt中的网址列表,总共访问1000次.运行之后的结果: 1000 fetches, 5 max parallel, 6e+06 bytes, in 58.1026 seconds6000 mean bytes/connection17.2109 fetches/sec, 103266 b

Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍

一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死.还可以测试HTTPS类的网站请求. 下载地址:http://soft.vpser.net/test/http_load/http_load-12mar2006.tar.gz 安装#tar zxvf http_load-12mar2006.tar.gz#cd http_load-12mar

Web服务器压力测试工具http_load、webbench、ab、Siege使用教程

一.http_load 程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工 具,它可以以一个单一的进程运行,一般不会把客户机搞死.还可以测试HTTPS类的网站请求. 下载地址:http://soft.vpser.net/test/http_load/http_load-12mar2006.tar.gz 安装很简单 #tar zxvf http_load-12mar2006.tar.gz #cd http_lo

Android命令Monkey压力测试,详解

一.Monkey 是什么?Monkey 就是SDK中附带的一个工具. 二.Monkey 测试的目的?:该工具用于进行压力测试. 然后开发人员结合monkey 打印的日志 和系统打印的日志,结局测试中出现的问题. 三.Monkey 测试的特点?Monkey 测试,所有的事件都是随机产生的,不带任何人的主观性. 四.Monkey 命令详解 1).标准的monkey 命令[adb shell] monkey [options] <eventcount> , 例如:adb shell monkey -

转:Android命令Monkey压力测试,详解

停止Monkey命令: 1. ps命令  查找uiautomator的进程 打开cmd命令行窗口 输入: adb shell ps | grep monkey 返回来的第一个数字,即是monkey的进程号 2.kill 命令结束进程继续输入: adb shell kill [刚才查到的进程号] 同理结束其他进程,和其他应用也可用此法,屡试不爽   测试apk集合 APK应用集合分为黑名单和白名单,黑名单是指系统将执行除了黑名单中以外的apk:白名单则是只执行在白名单中的apk. 黑名单的设置方法

(总结)Web性能压力测试工具之WebBench详解

PS:在运维工作中,压力测试是一项很重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验.但是,在压力测试中存在一个共性,那就是压力测试的结果与实际负载结果不会完全相同,就算压力测试工作做的再好,也不能保证100%和线上性能指标相同.面对这些问题,我们只能尽量去想方设法去模拟.所以,压力测试非常有必要,有了这些数据,我们就能对自己做维护的平台做到心中有数. Webbench是知名的网站压力测试工具,它是由Lionbridge公司(h

php扩展imagick实例详解

imagick是一个可以供PHP调用ImageMagick功能的PHP扩展.使用这个扩展可以使PHP具备和ImageMagick相同的功能. PHP建图通常都用GD库,因为是内置的不需要在服务器上额外安装插件,所以用起来比较省心,但是如果你的程序主要的功能就是处理图像,那麼就不建议用GD了,因为GD不但低效能而且能力也比较弱,佔用的系统资源也颇多,另外GD的creatfrom也有bug,而imagick却是一个很好的替代品,为此最近把我的一个项目由GD改成了imagick,但是改完之后出现了一些

Apache-AB压力测试实例

一 AB背景介绍 Apache附带的压力测试工具apache bench--简称ab,非常容易使用,并且完全可以摸你各种条件对Web服务器发起测试请求.ab可以直接在Web服务器本地发起测试请求,这对于需要了解服务器的处理性能至关重要,因为它不包括数据的网络传输时间以及用户PC本地的计算时间. ab is a tool for benchmarking your Apache Hypertext Transfer Protocol (HTTP) server. It is designed to

《HTML 5网页开发实例详解》目录

第一篇  从宏观上认识HTML 5 讲述了HTML 5引发的Web革命.HTML 5的整体特性.HTML 5相关概念和框架和开发环境搭建. 第1章 HTML 5引发的Web革命 1.1  你是不是真的了解HTML 5 1.1.1  通过W3C认识HTML 5的发展史 1.1.2  HTML 5.HTML4.XHTML的区别 1.1.3  什么人应该学HTML 5 1.1.4  一个图告诉你如何学习HTML 5 1.2  浏览器之争 1.2.1  说说这些常见的浏览器 1.2.2  浏览器的兼容烦