Warning: ini_set() has been disabled for security reasons in /home/bash/public_html/man.php on line 3

Warning: ini_set() has been disabled for security reasons in /home/bash/public_html/man.php on line 4

Warning: ini_set() has been disabled for security reasons in /home/bash/public_html/man.php on line 5

Warning: Cannot modify header information - headers already sent by (output started at /home/bash/public_html/man.php:3) in /home/bash/public_html/man.php on line 8

Warning: Cannot modify header information - headers already sent by (output started at /home/bash/public_html/man.php:3) in /home/bash/public_html/man.php on line 9
ab Man Page - BASH Cures Cancer
Bash Cures Cancer
Learn the UNIX/Linux command line

Home     Man Pages     SpamDefeator


AB(8)				      ab				AB(8)



NAME
       ab - Apache HTTP server benchmarking tool


SYNOPSIS
       ab  [  -A  auth-username:password  ]  [	-c concurrency ] [ -C cookie-
       name=value ] [ -d ] [ -e csv-file ] [ -g gnuplot-file ] [ -h  ]	[  -H
       custom-header  ]	 [  -i ] [ -k ] [ -n requests ] [ -p POST-file ] [ -P
       proxy-auth-username:password ] [ -q ] [ -s ] [ -S ] [ -t timelimit ] [
       -T  content-type	 ]  [  -v  verbosity]  [  -V  ]	 [  -w	]  [  -x -attributes ] [ -X proxy[:port] ] [	-y  -attributes  ]	[  -z
       -attributes ] [http://]hostname[:port]/path



SUMMARY
       ab  is a tool for benchmarking your Apache Hypertext Transfer Protocol
       (HTTP) server. It is designed to give you an impression	of  how	 your
       current	Apache	installation  performs. This especially shows you how
       many requests per second your Apache installation is capable of	serv-
       ing.



OPTIONS
       -A auth-username:password
	      Supply  BASIC  Authentication  credentials  to  the server. The
	      username and password are separated by a single : and  sent  on
	      the  wire	 base64	 encoded.  The	string	is sent regardless of
	      whether the server needs it (i.e., has sent an 401  authentica-
	      tion needed).

       -c concurrency
	      Number  of  multiple  requests to perform at a time. Default is
	      one request at a time.

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

       -d     Do  not  display	the "percentage served within XX [ms] table".
	      (legacy support).

       -e csv-file
	      Write a Comma separated value (CSV)  file	 which	contains  for
	      each percentage (from 1% to 100%) the time (in milliseconds) it
	      took to serve that percentage of the requests. This is  usually
	      more useful than the 'gnuplot' file; as the results are already
	      'binned'.

       -g gnuplot-file
	      Write all measured values out as a 'gnuplot' or TSV (Tab	sepa-
	      rate  values) file. This file can easily be imported into pack-
	      ages like Gnuplot, IDL, Mathematica, Igor or even	 Excell.  The
	      labels are on the first line of the file.

       -h     Display usage information.

       -H custom-header
	      Append  extra headers to the request. The argument is typically
	      in the form of a valid header line,  containing  a  colon-sepa-
	      rated field-value pair (i.e., "Accept-Encoding: zip/zop;8bit").

       -i     Do HEAD requests instead of GET.

       -k     Enable the  HTTP	KeepAlive  feature,  i.e.,  perform  multiple
	      requests within one HTTP session. Default is no KeepAlive.

       -n requests
	      Number of requests to perform for the benchmarking session. The
	      default is to just perform a single request which usually leads
	      to non-representative benchmarking results.

       -p POST-file
	      File containing data to POST.

       -P proxy-auth-username:password
	      Supply  BASIC  Authentication  credentials to a proxy en-route.
	      The username and password are separated by a single : and	 sent
	      on  the  wire  base64 encoded. The string is sent regardless of
	      whether the proxy needs it (i.e., has sent an 407 proxy authen-
	      tication needed).

       -q     When  processing	more than 150 requests, ab outputs a progress
	      count on stderr every 10% or 100 requests or so.	The  -q	 flag
	      will suppress these messages.

       -s     When  compiled  in  (ab -h will show you) use the SSL protected
	      https rather than the http protocol. This feature is experimen-
	      tal and very rudimentary. You probably do not want to use it.

       -S     Do  not  display	the median and standard deviation values, nor
	      display the warning/error messages when the average and  median
	      are  more	 than  one or two times the standard deviation apart.
	      And default to the min/avg/max values. (legacy support).

       -t timelimit
	      Maximum number of	 seconds  to  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
	      timelimit.

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

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

       -V     Display version number and exit.

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

       -x -attributes
	      String  to  use  as  attributes  for  
. Attributes are inserted
. -X proxy[:port] Use a proxy server for the requests. -y -attributes String to use as attributes for . -z
-attributes String to use as attributes for . BUGS There are various statically declared buffers of fixed length. Com- bined 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 performance rather than the server's. Apache HTTP Server 2004-01-06 AB(8)

UNIX/Linux commands referenced on this page:
  1. at
  2. time
  3. more
  4. as
  5. file
  6. HEAD
  7. which
  8. display
  9. POST
  10. top