~ubuntu-branches/ubuntu/feisty/apache2/feisty

« back to all changes in this revision

Viewing changes to docs/man/ab.8

  • Committer: Bazaar Package Importer
  • Author(s): Andreas Barth
  • Date: 2006-12-09 21:05:45 UTC
  • mfrom: (0.6.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20061209210545-h70s0xaqc2v8vqr2
Tags: 2.2.3-3.2
* Non-maintainer upload.
* 043_ajp_connection_reuse: Patch from upstream Bugzilla, fixing a critical
  issue with regard to connection reuse in mod_proxy_ajp.
  Closes: #396265

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
2
.\" DO NOT EDIT! Generated from XML source.
 
3
.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
4
.de Sh \" Subsection
 
5
.br
 
6
.if t .Sp
 
7
.ne 5
 
8
.PP
 
9
\fB\\$1\fR
 
10
.PP
 
11
..
 
12
.de Sp \" Vertical space (when we can't use .PP)
 
13
.if t .sp .5v
 
14
.if n .sp
 
15
..
 
16
.de Ip \" List item
 
17
.br
 
18
.ie \\n(.$>=3 .ne \\$3
 
19
.el .ne 3
 
20
.IP "\\$1" \\$2
 
21
..
 
22
.TH "AB" 8 "2004-11-14" "Apache HTTP Server" "ab"
 
23
 
 
24
.SH NAME
 
25
ab \- Apache HTTP server benchmarking tool
 
26
 
 
27
.SH "SYNOPSIS"
 
28
 
 
29
.PP
 
30
\fBab\fR [ -\fBA\fR \fIauth-username\fR:\fIpassword\fR ] [ -\fBc\fR \fIconcurrency\fR ] [ -\fBC\fR \fIcookie-name\fR=\fIvalue\fR ] [ -\fBd\fR ] [ -\fBe\fR \fIcsv-file\fR ] [ -\fBg\fR \fIgnuplot-file\fR ] [ -\fBh\fR ] [ -\fBH\fR \fIcustom-header\fR ] [ -\fBi\fR ] [ -\fBk\fR ] [ -\fBn\fR \fIrequests\fR ] [ -\fBp\fR \fIPOST-file\fR ] [ -\fBP\fR \fIproxy-auth-username\fR:\fIpassword\fR ] [ -\fBq\fR ] [ -\fBs\fR ] [ -\fBS\fR ] [ -\fBt\fR \fItimelimit\fR ] [ -\fBT\fR \fIcontent-type\fR ] [ -\fBv\fR \fIverbosity\fR] [ -\fBV\fR ] [ -\fBw\fR ] [ -\fBx\fR \fI<table>-attributes\fR ] [ -\fBX\fR \fIproxy\fR[:\fIport\fR] ] [ -\fBy\fR \fI<tr>-attributes\fR ] [ -\fBz\fR \fI<td>-attributes\fR ] [http://]\fIhostname\fR[:\fIport\fR]/\fIpath\fR
 
31
 
 
32
 
 
33
.SH "SUMMARY"
 
34
 
 
35
.PP
 
36
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 serving\&.
 
37
 
 
38
 
 
39
.SH "OPTIONS"
 
40
 
 
41
 
 
42
.TP
 
43
-A \fIauth-username\fR:\fIpassword\fR
 
44
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 (\fIi\&.e\&.\fR, has sent an 401 authentication needed)\&.  
 
45
.TP
 
46
-c \fIconcurrency\fR
 
47
Number of multiple requests to perform at a time\&. Default is one request at a time\&.  
 
48
.TP
 
49
-C \fIcookie-name\fR=\fIvalue\fR
 
50
Add a Cookie: line to the request\&. The argument is typically in the form of a \fIname\fR=\fIvalue\fR pair\&. This field is repeatable\&.  
 
51
.TP
 
52
-d
 
53
Do not display the "percentage served within XX [ms] table"\&. (legacy support)\&.  
 
54
.TP
 
55
-e \fIcsv-file\fR
 
56
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'\&.  
 
57
.TP
 
58
-g \fIgnuplot-file\fR
 
59
Write all measured values out as a 'gnuplot' or TSV (Tab separate values) file\&. This file can easily be imported into packages like Gnuplot, IDL, Mathematica, Igor or even Excel\&. The labels are on the first line of the file\&.  
 
60
.TP
 
61
-h
 
62
Display usage information\&.  
 
63
.TP
 
64
-H \fIcustom-header\fR
 
65
Append extra headers to the request\&. The argument is typically in the form of a valid header line, containing a colon-separated field-value pair (\fIi\&.e\&.\fR, "Accept-Encoding: zip/zop;8bit")\&.  
 
66
.TP
 
67
-i
 
68
Do HEAD requests instead of GET\&.  
 
69
.TP
 
70
-k
 
71
Enable the HTTP KeepAlive feature, \fIi\&.e\&.\fR, perform multiple requests within one HTTP session\&. Default is no KeepAlive\&.  
 
72
.TP
 
73
-n \fIrequests\fR
 
74
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\&.  
 
75
.TP
 
76
-p \fIPOST-file\fR
 
77
File containing data to POST\&.  
 
78
.TP
 
79
-P \fIproxy-auth-username\fR:\fIpassword\fR
 
80
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 (\fIi\&.e\&.\fR, has sent an 407 proxy authentication needed)\&.  
 
81
.TP
 
82
-q
 
83
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\&.  
 
84
.TP
 
85
-s
 
86
When compiled in (ab -h will show you) use the SSL protected https rather than the http protocol\&. This feature is experimental and \fIvery\fR rudimentary\&. You probably do not want to use it\&.  
 
87
.TP
 
88
-S
 
89
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)\&.  
 
90
.TP
 
91
-t \fItimelimit\fR
 
92
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\&.  
 
93
.TP
 
94
-T \fIcontent-type\fR
 
95
Content-type header to use for POST data\&.  
 
96
.TP
 
97
-v \fIverbosity\fR
 
98
Set verbosity level - 4 and above prints information on headers, 3 and above prints response codes (404, 200, etc\&.), 2 and above prints warnings and info\&.  
 
99
.TP
 
100
-V
 
101
Display version number and exit\&.  
 
102
.TP
 
103
-w
 
104
Print out results in HTML tables\&. Default table is two columns wide, with a white background\&.  
 
105
.TP
 
106
-x \fI<table>-attributes\fR
 
107
String to use as attributes for <table>\&. Attributes are inserted <table \fIhere\fR >\&.  
 
108
.TP
 
109
-X \fIproxy\fR[:\fIport\fR]
 
110
Use a proxy server for the requests\&.  
 
111
.TP
 
112
-y \fI<tr>-attributes\fR
 
113
String to use as attributes for <tr>\&.  
 
114
.TP
 
115
-z \fI<td>-attributes\fR
 
116
String to use as attributes for <td>\&.  
 
117
 
 
118
.SH "BUGS"
 
119
 
 
120
.PP
 
121
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\&.
 
122
 
 
123
.PP
 
124
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; \fIi\&.e\&.\fR, you would measure the ab performance rather than the server's\&.
 
125