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