houzeal 发表于 2009-8-26 16:01:32

Apache自带的性能测试工具ab的使用

<H2>1. ab(ApacheBench)是Apache自带的超文本传输协议(HTTP)性能测试工具。 其设计意图是描绘当前所安装的Apache的执行性能, 主要是显示你安装的Apache每秒可以处理多少个请求。<BR><BR>2 使用<BR><BR>2.1 安装<BR><BR>Apache服务器套件自带ab,只要安装Apache即可,无需另行安装ab。ab位于%ApacheHome%/bin目录下(“%ApacheHome%”为Aapche安装路径),你也可以把ab.exe文件copy出来,独立使用。<BR><BR>2.2 参数列表<BR><BR>C:\&gt;ab<BR>ab: wrong number of arguments<BR>Usage: ab hostname[:port]/path<BR>Options are:<BR>-n requests Number of requests to perform<BR>-c concurrency Number of multiple requests to make<BR>-t timelimit Seconds to max. wait for responses<BR>-p postfile File containing data to POST<BR>-T content-type Content-type header for POSTing<BR>-v verbosity How much troubleshooting info to print<BR>-w Print out results in HTMLtables<BR>-i Use HEAD instead of GET<BR>-x attributes String to insert as table attributes<BR>-y attributes String to insert as tr attributes<BR>-z attributes String to insert as td or th attributes<BR>-C attribute Add cookie, eg. 'Apache=1234. (repeatable)<BR>-H attribute Add Arbitrary header line, eg. 'Accept-Encoding: gzip'<BR>Inserted after all normal header lines. (repeatable)<BR>-A attribute Add Basic WWW Authentication, the attributes<BR>are a colon separated username and password.<BR>-P attribute Add Basic Proxy Authentication, the attributes<BR>are a colon separated username and password.<BR>-X proxy:port Proxyserver and port number to use<BR>-V Print version number and exit<BR>-k Use HTTP KeepAlive feature<BR>-d Do not show percentiles served table.<BR>-S Do not show confidence estimators and warnings.<BR>-g filename Output collected data to gnuplot format file.<BR>-e filename Output CSV file with percentages served<BR>-h Display usage information (this message)<BR>* 中文的列表可以查看Apache手册中文版。<BR><BR>以上参数最常用的是-n 在测试会话中所执行的请求个数;和-c 一次同时产生的并发请求个数。 <BR><BR>2.3 实例<BR><BR>假设我们要测试一个PHP论坛系统,其中一个性能测试用例是:“同时处理50个并发请求并运行 1000 次index.php 首页”,我们可以在cmd shell中输入 ab -n 1000 -c 50 http://172.16.11.180:88/bbs/index.php,运行结束后,ab会自动显示测试结果,如下:<BR><BR>E:\Webser\Apache2\bin&gt;ab -n 1000 -c 50 http://172.16.11.180:88/bbs/index.php<BR>This is ApacheBench, Version 2.0.41-dev &lt;$Revision: 1.121.2.12 $&gt; apache-2.0<BR>Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/&gt;<BR>Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/ <BR><BR>Benchmarking 172.16.11.180 (be patient)<BR>Completed 100 requests<BR>Completed 200 requests<BR>Completed 300 requests<BR>Completed 400 requests<BR>Completed 500 requests<BR>Completed 600 requests<BR>Completed 700 requests<BR>Completed 800 requests<BR>Completed 900 requests<BR>Finished 1000 requests <BR><BR>Server Software: Apache<BR>Server Hostname: 172.16.11.180<BR>Server Port: 88 <BR><BR>Document Path: /bbs/index.php<BR>Document Length: 36962 bytes <BR><BR>Concurrency Level: 50<BR>Time taken for tests: 262.515625 seconds<BR>Complete requests: 1000<BR>Failed requests: 198<BR>(Connect: 0, Length: 198, Exceptions: 0)<BR>Write errors: 0<BR>Total transferred: 37408432 bytes<BR>HTML transferred: 36967364 bytes<BR>Requests per second: 3.81 [#/sec] (mean)<BR>Time per request: 13125.781 (mean)<BR>Time per request: 262.516 (mean, across all concurrent requests)<BR>Transfer rate: 139.16 received <BR><BR>Connection Times (ms)<BR>min mean[+/-sd] median max<BR>Connect: 0 1 4.5 0 15<BR>Processing: 297 12818 2427.6 12921 30578<BR>Waiting: 281 12801 2427.6 12906 30562<BR>Total: 312 12820 2427.5 12921 30578 <BR>Percentage of the requests served within a certain time (ms)<BR>50% 12921<BR>66% 13203<BR>75% 13453<BR>80% 13546<BR>90% 13781<BR>95% 14156<BR>98% 14750<BR>99% 18328<BR>100% 30578 (longest request)<BR><BR>Percentage of the requests served within a certain time (ms)<BR>50% 12921<BR>66% 13203<BR>75% 13453<BR>80% 13546<BR>90% 13781<BR>95% 14156<BR>98% 14750<BR>99% 18328<BR>100% 30578 (longest request)<BR>以上结果指出,在并发50个请求的情况下,完成1000次的访问请求,共花了262.515秒,这个程序每秒可处理3.81个请求。<BR><BR>2.4 问题<BR><BR>在实际使用中,我发现-c 参数,即一次同时产生的并发请求个数最多设置成64,大于等于65就会报错,不知道为什么。<BR><BR>3 资料<BR><BR>ab官方网站:http://httpd.apache.org/docs/2.0/programs/ab.html<BR><BR>Apache 2.0手册中文版翻译项目ab部分:https://support.iap.ac.cn/net/ApacheManual/zh-cn/programs/ab.html</H2>

wuruling 发表于 2009-8-27 16:41:12

<P>ab&nbsp; 设置的运行时间貌似没多大用处, -t 360000&nbsp;&nbsp; 运行几分钟就Over了</P>
<P>&nbsp;</P>
页: [1]
查看完整版本: Apache自带的性能测试工具ab的使用