dengminhui 发表于 2013-2-7 18:03:26

ApacheBench学习

ab的全称是ApacheBench,是 Apache 附带的一个小工具,专门用于 HTTP Server 的benchmark testing,可以同时模拟多个并发请求。一般开发人员在进行真正的压力测试之前可以使用这个工具来进行自测,从而更好地掌握性能。
 
ab的参数有:
Options are:    -n requests   Number of requests to perform    -c concurrencyNumber of multiple requests to make    -t timelimit    Seconds to max. wait for responses    -p postfile   File containing data to POST    -T content-type Content-type header for POSTing    -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    -k            Use HTTP KeepAlive feature    -d            Do not show percentiles served table.    -S            Do not show confidence estimators and warnings.    -g filename   Output collected data to gnuplot format file.    -e filename   Output CSV file with percentages served    -h            Display usage information (this message) 
 
 
首先进入安装Apache下的bin目录,比如在我本机就是C:\Program Files\Apache Software Foundation\Apache2.2\bin,较常用的参数是n和c,运行命令和结果如下:
C:\Program Files\Apache Software Foundation\Apache2.2\bin>ab -n 10000 -c 100 http://renmai-dev.china.alibaba.com/view/attention/index/1.htmlThis is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Copyright 2006 The Apache Software Foundation, http://www.apache.org/Benchmarking renmai-dev.china.alibaba.com (be patient)Completed 1000 requestsCompleted 2000 requestsCompleted 3000 requestsCompleted 4000 requestsCompleted 5000 requestsCompleted 6000 requestsCompleted 7000 requestsCompleted 8000 requestsCompleted 9000 requestsFinished 10000 requestsServer Software:      Apache-Coyote/1.1Server Hostname:      renmai-dev.china.alibaba.comServer Port:            80Document Path:          /view/attention/index/1.htmlDocument Length:      0 bytesConcurrency Level:      100Time taken for tests:   17.812500 secondsComplete requests:      10000Failed requests:      0Write errors:         0Non-2xx responses:      10000Total transferred:      10130006 bytesHTML transferred:       0 bytesRequests per second:    561.40 [#/sec] (mean)Time per request:       178.125 (mean)Time per request:       1.781 (mean, across all concurrent requests)Transfer rate:          555.34 receivedConnection Times (ms)            minmean[+/-sd] median   maxConnect:      0    0   1.8      0      31Processing:    15176 101.5    140    1125Waiting:       15176 101.3    140    1125Total:         15177 101.5    140    1125Percentage of the requests served within a certain time (ms)50%    14066%    15675%    17180%    17190%    28195%    42198%    48499%    609 100%   1125 (longest request)请注意并发数最大为1024,取值不可大于此。接下来,比较一下压力更大的情况。
 
C:\Program Files\Apache Software Foundation\Apache2.2\bin>ab -n 1000000 -c1000http://renmai-dev.china.alibaba.com/view/attention/index/1.htmlThis is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Copyright 2006 The Apache Software Foundation, http://www.apache.org/Benchmarking renmai-dev.china.alibaba.com (be patient)Completed 100000 requestsCompleted 200000 requestsCompleted 300000 requestsCompleted 400000 requestsCompleted 500000 requestsCompleted 600000 requestsCompleted 700000 requestsCompleted 800000 requestsCompleted 900000 requestsFinished 1000000 requestsServer Software:      Apache-Coyote/1.1Server Hostname:      renmai-dev.china.alibaba.comServer Port:            80Document Path:          /view/attention/index/1.htmlDocument Length:      0 bytesConcurrency Level:      1000Time taken for tests:   1484.622112 secondsComplete requests:      1000000Failed requests:      0Write errors:         0Non-2xx responses:      1000000Total transferred:      1012951156 bytesHTML transferred:       0 bytesRequests per second:    673.57 [#/sec] (mean)Time per request:       1484.622 (mean)Time per request:       1.485 (mean, across all concurrent requests)Transfer rate:          666.30 receivedConnection Times (ms)            minmean[+/-sd] median   maxConnect:      0    118.3      0   968Processing:   140 1477 454.2   1421    3890Waiting:      0885 501.5    828    3156Total:      140 1478 454.7   1421    3890Percentage of the requests served within a certain time (ms)50%   142166%   168775%   179680%   185990%   207895%   229698%   249999%   2734 100%   3890 (longest request) 可以看到,随着并发数的增多,实际性能将所有下降。
 
Apache 下载页: http://httpd.apache.org/download.cgi
更多信息:http://httpd.apache.org/docs/2.0/programs/ab.html
       参数的中文介绍可参照: http://mayer.iteye.com/blog/176604
 
 
 
页: [1]
查看完整版本: ApacheBench学习