| <!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" --> |
| <!-- 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>Authenticate username</em>:<em>password </em>] [ |
| -<strong>P </strong><em>Proxy Authenticate username</em>:<em>password </em>] [ -<strong>H </strong><em>Custom 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>verbos-</em> |
| <em>ity </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 on how performant is your current Apache instal- |
| lation. This especially shows you how much requests per |
| time your Apache installation is capable to serve. |
| |
| <strong>OPTIONS</strong> |
| -<strong>k </strong>Enable the HTTP KeepAlive feature, i.e. perform |
| multiple requests within one HTTP session |
| instead. 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 one |
| single request which usually leads to not very |
| representative benchmarking results. |
| |
| -<strong>t </strong><em>timelimit</em> |
| Seconds to max. spend for benchmarking. 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 per time to perform. |
| Default is one request per time. |
| |
| -<strong>p </strong><em>POST file</em> |
| File containing data to POST. |
| |
| -<strong>A </strong><em>Authorization username</em>:<em>password</em> |
| Supply BASIC Authentification credentials to the |
| server. The username and password are separated |
| by a single ':' and send on the wire uuencoded. |
| The string is send regardless of wether the |
| server needs it; (i.e. has send an 401. |
| Authentifcation needed). |
| |
| -<strong>p </strong><em>Proxy</em>-<em>Authorization username</em>:<em>password</em> |
| 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). |
| |
| -<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> |
| Postfix 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. |
| |
| -<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> |