| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> |
| <html> |
| <head><title>Manual Page: ab - Apache HTTP Server</title></head> |
| <body bgcolor="#ffffff" text="#000000" link="#0000ff" |
| vlink="#000080" alink="#ff0000"> |
| <!--#include virtual="header.html" --> |
| <h1 align="center">Manual Page: ab</h1> |
| <!-- This document was autogenerated from the man page --> |
| <pre> |
| <strong>NAME</strong> |
| ab - Apache HTTP server benchmarking tool |
| |
| <strong>SYNOPSIS</strong> |
| <strong>ab </strong>[ -<strong>k </strong>] [ -<strong>n </strong><em>requests </em>] [ -<strong>t </strong><em>timelimit </em>] [ -<strong>c </strong><em>concurrency</em> |
| ] [ -<strong>p </strong><em>POST file </em>] [ -<strong>A </strong><em>Authentication username</em>:<em>password </em>] [ |
| -<strong>P </strong><em>Proxy Authentication username</em>:<em>password </em>] [ -<strong>H </strong><em>Custom</em> |
| <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> |
| <em>verbosity </em>] ] [ -<strong>w </strong><em>output HTML </em>] ] [ -<strong>x </strong><<em>table</em>> <em>attributes </em>] |
| ] [ -<strong>y </strong><<em>tr</em>> <em>attributes </em>] ] [ -<strong>z </strong><<em>td</em>> <em>attributes </em>] |
| [<em>http</em>://]<em>hostname</em>[:<em>port</em>]/<em>path</em> |
| |
| <strong>ab </strong>[ -<strong>V </strong>] [ -<strong>h </strong>] |
| |
| <strong>DESCRIPTION</strong> |
| <strong>ab </strong>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 serving. |
| |
| <strong>OPTIONS</strong> |
| -<strong>k </strong>Enable the HTTP KeepAlive feature, i.e., perform |
| multiple requests within one HTTP session. |
| Default is no KeepAlive. |
| |
| -<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 <table>. Attri- |
| butes are inserted <table <strong>here </strong>> |
| |
| -<strong>y </strong><em>attributes</em> |
| String to use as attributes for <tr>. |
| |
| -<strong>z </strong><em>attributes</em> |
| String to use as attributes for <td>. |
| |
| -<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> |