快乐的工作,快乐的生活...

开源性能测试工具 - Apache ab 介绍

上一篇 / 下一篇  2008-05-10 23:56:29 / 个人分类:资料库

服务器负载太大而影响程序效率也是很常见的,Apache服务器自带有一个叫AB(ApacheBench)的工具,在bin目录下。使用这个轻巧的工具我们可以对服务器进行负载测试

基本用法:

ab -n 全部请求数 -c 并发数 测试url

例:ab -n 1000 -c 50 http://www.test.com/t.php

得到结果类似于(后面颜色字为中文翻译):

Server Software:        Apache/2.0.55
Server Hostname:        localhost
Server Port:            80

Document Path:          /1.php
Document Length:        82522 bytes #请求文档大小

Concurrency Level:      50           #并发数 
Time taken for tests:   92.76140 seconds#全部请求完成耗时
Complete requests:      10000         #全部请求数
Failed requests:        1974          #失败的请求
   (Connect: 0, Length: 1974, Exceptions: 0)
Write errors:           0
Total transferred:      827019400 bytes#总传输大小
HTML transferred:       825219400 bytes
Requests per second:    108.61 [#/sec] (mean)#每秒请求数(平均)
Time per request:       460.381 [ms] (mean)#每次并发请求时间(所有并发)
Time per request:       9.208 [ms] (mean, across all concurrent requests)                              #每一请求时间(并发平均)  
Transfer rate:          8771.39 [Kbytes/sec] received#传输速率

Connection Times (ms)#连接时间
              min  mean[+/-sd] median   max
Connect(#连接):        0    0   2.1      0      46
Processing(#处理):    31  458  94.7    438    1078
Waiting(#等待):       15  437  87.5    422     938
Total:         31  458  94.7    438    1078

完整用法:

ab[ -Aauth-username:password] [ -cconcurrency] [ -Ccookie-name=value] [ -d] [ -ecsv-file] [ -ggnuplot-file] [ -h] [ -Hcustom-header] [ -i] [ -k] [ -nrequests] [ -pPOST-file] [ -Pproxy-auth-username:password] [ -q] [ -s] [ -S] [ -ttimelimit] [ -Tcontent-type] [ -vverbosity] [ -V] [ -w] [ -x<table>-attributes] [ -Xproxy[:port] ] [ -y<tr>-attributes] [ -z<td>-attributes] [http://]hostname[:port]/path

参数说明如下:

  -n requests      Number of requests to perform
  -c concurrency   Number 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 HTMLtables
  -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)


TAG: 资料库

 

评分:0

我来说两句

日历

« 2024-05-18  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 6327
  • 日志数: 10
  • 建立时间: 2007-07-11
  • 更新时间: 2008-12-09

RSS订阅

Open Toolbar