日期:2014-05-17  浏览次数:21075 次

Apache自带的压力测试工具——ab初体验
     我们知道压力测试的软件确实很多,诸如微软的WAST,惠普的LoadRunner以及等等其他的,但这些软件学习起来还是需要花费些时间,在选择上实在头痛,后来在郭欣的那本《构建高性能WEB站点》上看到了他介绍的这款Apache自带的压力测试工具ab,十分喜爱,于是今天终于有机会体验下ab对网站的压力测试。

    实验之前我的apache已经安装了,操作系统:Ubuntu 10.04 VMware 7.0

1、先查看一下版本信息 ab -V(注意是大写的V)



studiogang@studiogang$ ab -V


This is ApacheBench, Version 2.3 <$Revision: 655654 $> 

Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ 

Licensed to The Apache Software Foundation, http://www.apache.org/ 

2、我们也可以使用小写的v查看下ab命令的一些属性 ab -v



studiogang@studiogang$ ab -v 

ab: option requires an argument -- v 

ab: wrong number of arguments 

Usage: ab [options] [http[s]://]hostname[:port]/path 

Options are: 

    -n requests     Number of requests to perform 

    -c concurrency  Number of multiple requests to make 

    -t timelimit    Seconds to max. wait for responses 

    -b windowsize   Size of TCP send/receive buffer, in bytes 

    -p postfile     File containing data to POST. Remember also to set -T 

    -u putfile      File containing data to PUT. Remember also to set -T 

    -T content-type Content-type header for POSTing, eg. 

                    'application/x-www-form-urlencoded' 

                    Default is 'text/plain' 

    -v verbosity    How much troubleshooting info to print 

    -w              Print out results in HTML tables 

    -i              Use HEAD instead of GET 

    -x attributes   String to insert as table attributes 

    -y attributes   String to insert as tr attributes 

    -z attributes   String to insert as td or th attributes 

    -C attribute    Add cookie, eg. 'Apache=1234. (repeatable) 

    -H attribute    Add Arbitrary header line, eg. 'Accept-Encoding: gzip' 

                    Inserted after all normal header lines. (repeatable) 

    -A attribute    Add Basic WWW Authentication, the attributes 

                    are a colon separated username and password. 

    -P attribute    Add Basic Proxy Authentication, the attributes 

                    are a colon separated username and password. 

    -X proxy:port   Proxyserver and port number to use 

    -V              Print version number and exit 

  &nb