ab.html revision 2eaf662cbc81e823e8d9aeb8d54e69e63032493e
10139N/A<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
10139N/A "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
10139N/A
10139N/A<html xmlns="http://www.w3.org/1999/xhtml">
10139N/A <head>
19799N/A <meta name="generator" content="HTML Tidy, see www.w3.org" />
10139N/A
10139N/A <title>Manual Page: ab - Apache HTTP Server</title>
10139N/A </head>
17185N/A
10139N/A <body bgcolor="#ffffff" text="#000000" link="#0000ff"
10139N/A vlink="#000080" alink="#ff0000">
10429N/A <!--#include virtual="header.html" -->
10429N/A
10429N/A <h1 align="center">Manual Page: ab</h1>
10429N/A <!-- This document was autogenerated from the man page -->
10429N/A<pre>
10429N/A<strong>NAME</strong>
10429N/A ab - Apache HTTP server benchmarking tool
10139N/A
10139N/A<strong>SYNOPSIS</strong>
10139N/A <strong>ab</strong> [ -<strong>k</strong> ] [ -<strong>n</strong> <em>requests</em> ] [ -<strong>t</strong> <em>timelimit</em> ] [ -<strong>c</strong> <em>concurrency</em>
18688N/A ] [ -<strong>p</strong> <em>POST file</em> ] [ -<strong>A</strong> <em>Authentication username</em>:<em>password</em> ] [
18688N/A -<strong>P</strong> <em>Proxy Authentication username</em>:<em>password</em> ] [ -<strong>H</strong> <em>Custom</em>
10139N/A <em>header</em> ] [ -<strong>C</strong> <em>Cookie name</em>=<em>value</em> ] [ -<strong>T</strong> <em>content</em>-<em>type</em> ] [ -<strong>v</strong>
20099N/A <em>verbosity</em> ] ] [ -<strong>w</strong> <em>output HTML</em> ] ] [ -<strong>x</strong> &lt;<em>table</em>&gt; <em>attributes</em> ]
10139N/A ] [ -<strong>y</strong> &lt;<em>tr</em>&gt; <em>attributes</em> ] ] [ -<strong>z</strong> &lt;<em>td</em>&gt; <em>attributes</em> ]
10139N/A [<em>http</em>://]<em>hostname</em>[:<em>port</em>]/<em>path</em>
12679N/A
19097N/A <strong>ab</strong> [ -<strong>V</strong> ] [ -<strong>h</strong> ]
10139N/A
10139N/A<strong>DESCRIPTION</strong>
10139N/A <strong>ab</strong> is a tool for benchmarking your Apache HyperText Transfer
20857N/A Protocol (HTTP) server. It is designed to give you an
10139N/A impression of how your current Apache installation performs.
10139N/A This especially shows you how many requests per second your
10139N/A Apache installation is capable of serving.
10139N/A
10139N/A<strong>OPTIONS</strong>
10139N/A -<strong>k </strong> Enable the HTTP KeepAlive feature, i.e., perform
10139N/A multiple requests within one HTTP session.
10139N/A Default is no KeepAlive.
20857N/A
10139N/A -<strong>n</strong> <em>requests</em> Number of requests to perform for the benchmark-
10139N/A ing session. The default is to just perform a
10139N/A single request which usually leads to non-
10429N/A representative benchmarking results.
10429N/A
10429N/A -<strong>t</strong> <em>timelimit</em>
10429N/A Maximum number of seconds to spend for bench-
10429N/A marking. This implies a -<strong>n 50000</strong> internally. Use
10429N/A this to benchmark the server within a fixed
10429N/A total amount of time. Per default there is no
10429N/A timelimit.
10429N/A
10429N/A -<strong>c</strong> <em>concurrency</em>
10139N/A Number of multiple requests to perform at a
10139N/A time. Default is one request at a time.
10139N/A
10139N/A -<strong>p</strong> <em>POST file</em>
10139N/A File containing data to POST.
10139N/A
10139N/A -<strong>A</strong> <em>Authentication username</em>:<em>password</em>
10139N/A Supply BASIC Authentication credentials to the
10429N/A server. The username and password are separated
10429N/A by a single ':' and sent on the wire uuencoded.
10429N/A The string is sent regardless of whether the
10429N/A server needs it; (i.e., has sent an 401 authen-
10429N/A tication needed).
10429N/A
10429N/A -<strong>p</strong> <em>Proxy</em>-<em>Authentication username</em>:<em>password</em>
10429N/A Supply BASIC Authentication credentials to a
10429N/A proxy en-route. The username and password are
10429N/A separated by a single ':' and sent on the wire
10429N/A uuencoded. The string is sent regardless of
10139N/A whether the proxy needs it; (i.e., has sent an
10139N/A 407 proxy authentication needed).
10139N/A
10429N/A -<strong>C</strong> <em>Cookie name</em>=<em>value</em>
10139N/A Add a 'Cookie:' line to the request. The argu-
10429N/A ment is typically in the form of a 'name=value'
10139N/A pair. This field is repeatable.
10139N/A
10429N/A -<strong>p</strong> <em>Header string</em>
10429N/A Append extra headers to the request. The argu-
19799N/A ment is typically in the form of a valid header
19799N/A line, containing a colon-separated field-value
19799N/A pair. (i.e., 'Accept-Encoding: zip/zop;8bit').
19799N/A
10139N/A -<strong>T</strong> <em>content</em>-<em>type</em>
10139N/A Content-type header to use for POST data.
10139N/A
10139N/A -<strong>v </strong> Set verbosity level - 4 and above prints infor-
10139N/A mation on headers, 3 and above prints response
10139N/A codes (404, 200, etc.), 2 and above prints warn-
10139N/A ings and info.
10139N/A
10139N/A -<strong>w </strong> Print out results in HTML tables. Default table
10139N/A is two columns wide, with a white background.
10139N/A
10139N/A -<strong>x</strong> <em>attributes</em>
10139N/A String to use as attributes for &lt;table&gt;. Attri-
10139N/A butes are inserted &lt;table <strong>here</strong> &gt;
10139N/A
10139N/A -<strong>y</strong> <em>attributes</em>
10139N/A String to use as attributes for &lt;tr&gt;.
14320N/A
14320N/A -<strong>z</strong> <em>attributes</em>
14320N/A String to use as attributes for &lt;td&gt;.
14320N/A
14320N/A -<strong>V </strong> Display version number and exit.
14320N/A
14320N/A -<strong>h </strong> Display usage information.
10139N/A
10139N/A<strong>BUGS</strong>
10139N/A There are various statically declared buffers of fixed
10139N/A length. Combined with the lazy parsing of the command line
10139N/A arguments, the response headers from the server and other
10139N/A external inputs, this might bite you.
10139N/A
10139N/A It does not implement HTTP/1.x fully; only accepts some
10429N/A 'expected' forms of responses. The rather heavy use of
10429N/A <strong>strstr(3)</strong> shows up top in profile, which might indicate a
10429N/A performance problem; i.e., you would measure the <strong>ab</strong> perfor-
10429N/A mance rather than the server's.
10139N/A
10139N/A<strong>SEE ALSO</strong>
10139N/A <strong>httpd(8)</strong>
10139N/A
10139N/A</pre>
10139N/A <!--#include virtual="footer.html" -->
10139N/A </body>
10139N/A</html>
10139N/A
10139N/A