[APACHE DOCUMENTATION]

Apache HTTP Server Version 1.3

Manual Page: ab

NAME
     ab - Apache HTTP server benchmarking tool

SYNOPSIS
     ab [ -k ] [ -i ] [ -n requests ] [ -t timelimit ] [ -c  con-
     currency   ]   [   -p   POST   file   ]  [  -A  Authenticate
     username:password    ]    [    -P     Proxy     Authenticate
     username:password  ]  [  -H  Custom  header  ]  [  -C Cookie
     name=value ] [ -T content-type ] [ -v verbosity  ]  [  -w
     output HTML ] [ -x <table> attributes ] [ -X proxy[:port] ]
     [ -y <tr> attributes     ]   [     -z  <td>  attributes   ]
     [http://]hostname[:port]/path

     ab [ -V ] [ -h ]

DESCRIPTION
     ab is a tool for benchmarking the performance of your Apache
     HyperText  Transfer Protocol (HTTP) server.  It does this by
     giving you an indication of how  many  requests  per  second
     your Apache installation can serve.

OPTIONS
     -k          Enable the HTTP KeepAlive feature; that is, per-
                 form  multiple requests within one HTTP session.
                 Default is no KeepAlive.

     -i          Use an HTTP 'HEAD' instead of  the  GET  method.
                 Cannot be mixed with POST.

     -n requests The number of requests to perform for the bench-
                 marking session.  The default is to perform just
                 one  single  request,  which   will   not   give
                 representative benchmarking results.

     -t timelimit
                 The number of  seconds  to  spend  benchmarking.
                 Using  this  option automatically set the number
                 of requests  for  the  benchmarking  session  to
                 50000.   Use  this to benchmark the server for a
                 fixed period of time.  By default, there  is  no
                 timelimit.

     -c concurrency
                 The number of simultaneous requests to  perform.
                 The default is to perform one HTTP request at a
                 time, that is, no concurrency.

     -p POST file
                 A file containing data  that  the  program  will
                 send  to  the  Apache  server  in  any HTTP POST
                 requests. The contents of the file  should  look
                 like  name=value&something=other,  with  special
                 characters URL encoded.

     -A Authorization username:password
                 Supply Basic Authentication credentials  to  the
                 server.  The username and password are separated
                 by a single ':', and  sent  as  uuencoded  data.
                 The  string  is  sent  regardless of whether the
                 server needs it; that is, has sent a 401 Authen-
                 tication needed.

     -P Proxy-Authorization username:password
                 Supply Basic  Authentication  credentials  to  a
                 proxy  en-route.  The  username and password are
                 separated by a single ':', and sent as uuencoded
                 data.   The string is sent regardless of whether
                 the proxy needs it; that  is,  has  sent  a  407
                 Proxy authentication needed.

     -C Cookie name=value
                 Add a 'Cookie:' line to the request.  The  argu-
                 ment  is  typically  a  'name=value'  pair. This
                 option may be repeated.

     -H Header string
                 Append extra headers to the request.  The  argu-
                 ment  is typically in the form of a valid header
                 line, usually  a  colon  separated  field  value
                 pair,     for     example,     'Accept-Encoding:
                 zip/zop;8bit'.

     -T content-type
                 The content-type header to use for POST data.

     -v          Sets the verbosity level.   Level  4  and  above
                 prints information on headers, level 3 and above
                 prints response codes (for example,  404,  200),
                 and level 2 and above prints warnings and infor-
                 mational messages.

     -w          Print out results in HTML tables.   The  default
                 table  is  two  columns wide, with a white back-
                 ground.

     -x attributes
                 The string to use  as  attributes  for  <table>.
                 Attributes are inserted <table here >

     -X proxy:port
                 Use the specified proxy server, running on the
                 specified port.

     -y attributes
                 The string to use as attributes for <tr>.

     -z attributes
                 The string to use as attributes for <td>.

     -V          Display the version number and exit.

     -h          Display usage information.

BUGS
     There are  various  statically  declared  buffers  of  fixed
     length.  Combined  with  inefficient  parsing of the command
     line arguments, the response headers from  the  server,  and
     other external inputs, these buffers might overflow.

     Ab does not  implement  HTTP/1.x  fully;  instead,  it  only
     accepts some 'expected' forms of responses.

     The rather heavy use of strstr(3) by the  program  may  skew
     performance   results,   since   it   uses  significant  CPU
     resources.  Make sure that performance limits are not hit by
     ab before your server's limit is reached.

SEE ALSO
     httpd(8)


Apache HTTP Server Version 1.3

Index Home