


ab(8)                                                       ab(8)


NAME
       ab - Apache HTTP server benchmarking tool

SYNOPSIS
       ab  [  -k  ]  [ -i ] [ -n requests ] [ -t timelimit ] [ -c
       concurrency ] [ -p POST file ]  [  -A  Authenticate  user-
       name:password  ] [ -P Proxy Authenticate username:password
       ] [ -H Custom header ] [ -C Cookie name=value ] [ -T  con-
       tent-type  ]  [ -v verbosity ] ] [ -w output HTML ] ] [ -x
       <table> attributes ] ] [ -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,
                   perform multiple requests within one HTTP ses-
                   sion. 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
                   benchmarking session.  The default is to  per-
                   form  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 per-
                   form. The  default  is  to  perform  one  HTTP
                   request at at 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.




                           October 1999                         1





ab(8)                                                       ab(8)


       -A Authorization username:password
                   Supply Basic Authentication credentials to the
                   server. The username and  password  are  sepa-
                   rated  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 Authentication 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  uuen-
                   coded  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.


       -p 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 informational 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 >

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




                           October 1999                         2





ab(8)                                                       ab(8)


       -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)

































                           October 1999                         3


