


ab(1)                                                       ab(1)


NAME
       ab - Apache HTTP server benchmarking tool

SYNOPSIS
       ab  [  -k  ] [ -n requests ] [ -t timelimit ] [ -c concur-
       rency ] [ -p POST file ] [ -A Authenticate  username:pass-
       word  ]  [  -P Proxy Authenticate username:password ] [ -H
       Custom header ] [ -C Cookie name=value ] [ -T content-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 your Apache HyperText Trans-
       fer Protocol (HTTP) server. It is designed to give you  an
       impression  on  how  performant  is  your  current  Apache
       installation.  This especially shows you how much requests
       per time your Apache installation is capable to serve.


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

       -n requests Number  of  requests to perform for the bench-
                   marking session.  The default is to just  per-
                   form one single request which usually leads to
                   not very representative benchmarking  results.

       -t timelimit
                   Seconds  to  max. spend for benchmarking. This
                   implies a -n 50000  internally.  Use  this  to
                   benchmark  the  server  within  a  fixed total
                   amount of time.  Per default there is no time-
                   limit.

       -c concurrency
                   Number  of  multiple requests per time to per-
                   form.  Default is one request per time.


       -p POST file
                   File containing data to POST.


       -A Authorization username:password
                   Supply BASIC Authentification  credentials  to
                   the server. The username and password are sep-
                   arated by a single ':' and send  on  the  wire
                   uuencoded.   The  string is send regardless of



                            March 1998                          1





ab(1)                                                       ab(1)


                   wether the server needs it; (i.e. has send  an
                   401. Authentifcation needed).


       -p Proxy-Authorization username:password
                   Supply BASIC Authentification credentials to a
                   proxy en-route. The username and password  are
                   separated by a single ':' and send on the wire
                   uuencoded.  The string is send  regardless  of
                   wether  the  proxy needs it; (i.e. has send an
                   407 Proxy authentifcation needed).


       -C Cookie name=value
                   Add a 'Cookie:' line to the request. The argu-
                   ment   is   typically   in   the   form  of  a
                   'name=value' pair. This field is repeatable.


       -p Header string
                   Postfix extra  headers  to  the  request.  The
                   argument  is  typically in the form of a valid
                   header  line;  containing  a  colon  separated
                   field value pair. (i.e.


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


       -v          Set  verbosity  level  -  4  and  above prints
                   information on headers,  3  and  above  prints
                   response  codes  (404, 200, etc.), 2 and above
                   prints warnings and info.


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

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

       -y attributes
                   String to use as attributes for <tr>.

       -z attributes
                   String to use as attributes for <td>.

       -V          Display version number and exit.

       -h          Display usage information.




                            March 1998                          2





ab(1)                                                       ab(1)


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

       It does not implement HTTP/1.x fully;  only  accepts  some
       'expected'  forms  of  responses.  The rather heavy use of
       strstr(3) shows up top in profile, which might indicate  a
       performance problem; i.e. you would measure the ab perfor-
       mance rather than the server's.


SEE ALSO
       httpd(8)










































                            March 1998                          3


