summaryrefslogtreecommitdiff
path: root/APACHE_1_3_42/src/support/ab.8
diff options
context:
space:
mode:
Diffstat (limited to 'APACHE_1_3_42/src/support/ab.8')
-rw-r--r--APACHE_1_3_42/src/support/ab.8250
1 files changed, 250 insertions, 0 deletions
diff --git a/APACHE_1_3_42/src/support/ab.8 b/APACHE_1_3_42/src/support/ab.8
new file mode 100644
index 0000000000..c2f94123ed
--- /dev/null
+++ b/APACHE_1_3_42/src/support/ab.8
@@ -0,0 +1,250 @@
+.TH ab 8 "February 2004"
+.\" Licensed to the Apache Software Foundation (ASF) under one or more
+.\" contributor license agreements. See the NOTICE file distributed with
+.\" this work for additional information regarding copyright ownership.
+.\" The ASF licenses this file to You under the Apache License, Version 2.0
+.\" (the "License"); you may not use this file except in compliance with
+.\" the License. You may obtain a copy of the License at
+.\"
+.\" http://www.apache.org/licenses/LICENSE-2.0
+.\"
+.\" Unless required by applicable law or agreed to in writing, software
+.\" distributed under the License is distributed on an "AS IS" BASIS,
+.\" WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+.\" See the License for the specific language governing permissions and
+.\" limitations under the License.
+.\"
+.SH NAME
+ab \- Apache HTTP server benchmarking tool
+.SH SYNOPSIS
+.B ab
+[
+.B \-k
+] [
+.B \-e
+] [
+.B \-q
+] [
+.B \-S
+] [
+.B \-i
+] [
+.B \-s
+] [
+.BI \-n " requests"
+] [
+.BI \-t " timelimit"
+] [
+.BI \-c " concurrency"
+] [
+.BI \-p " POST file"
+] [
+.BI \-A " Authenticate username:password"
+] [
+.BI \-X " proxy [ :port ]"
+] [
+.BI \-P " Proxy Authenticate username:password"
+] [
+.BI \-H " Custom header"
+] [
+.BI \-C " Cookie name=value"
+] [
+.BI \-T " content-type"
+] [
+.BI \-v " verbosity"
+] [
+.BI \-w " output HTML"
+] [
+.BI \-g " output GNUPLOT"
+] [
+.BI \-e " output CSV"
+] [
+.BI \-x " <table> attributes"
+] [
+.BI \-y " <tr> attributes"
+] [
+.BI \-z " <td> attributes"
+]
+.I [http[s]://]hostname[:port]/path
+
+.B ab
+[
+.B \-V
+] [
+.B \-h
+]
+.PP
+.SH DESCRIPTION
+.B ab
+is a tool for benchmarking the performance of your Apache HyperText Transfer
+Protocol (HTTP) server. It does this by giving you an indication of how
+many requests per second your Apache installation can serve.
+.PP
+.SH OPTIONS
+.TP 12
+.B \-k
+Enable the HTTP KeepAlive feature; that is, perform multiple requests
+within one HTTP session. Default is no KeepAlive.
+.TP 12
+.B \-d
+Do not display the "percentage served within XX [ms] table". (legacy
+support).
+.TP 12
+.B \-S
+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).
+.TP 12
+.B \-s
+When compiled in (ab -h will show you) use the SSL protected
+.B https
+rather than the
+.B http
+protocol. This feature is experimental and
+.B very
+rudimentary. You propably do not want to use it.
+.TP 12
+.B \-k
+Enable the HTTP KeepAlive feature; that is, perform multiple requests
+within one HTTP session. Default is no KeepAlive.
+.B \-i
+Use an HTTP 'HEAD' instead of the GET method. Cannot be mixed with POST.
+.TP 12
+.BI \-n " requests"
+The number of requests to perform for the benchmarking session. The
+default is to perform just one single request, which will not give
+representative benchmarking results.
+.TP 12
+.BI \-t " timelimit"
+The number of seconds to spend benchmarking. Using this option automatically
+set the number of requests for the benchmarking session to 50000.
+Use this to benchmark the server for a fixed period of time. By
+default, there is no timelimit.
+.TP 12
+.BI \-c " concurrency"
+The number of simultaneous requests to perform. The default is to
+perform one HTTP request at at time, that is, no concurrency.
+
+.TP 12
+.BI \-p " POST file"
+A file containing data that the program will send to the Apache server in
+any HTTP POST requests.
+
+.TP 12
+.BI \-A " Authorization username:password"
+Supply Basic Authentication credentials to the server. The username
+and password are separated by a single ':', and sent as uuencoded data.
+The string is sent regardless of whether the server needs it; that is,
+has sent a 401 Authentication needed.
+
+.TP 12
+.BI \-X " proxy[:port]"
+Route all requests through the proxy (at optional port).
+
+.TP 12
+.BI \-P " Proxy-Authorization username:password"
+Supply Basic Authentication credentials to a proxy en-route. The username
+and password are separated by a single ':', and sent as uuencoded data.
+The string is sent regardless of whether the proxy needs it; that is,
+has sent a 407 Proxy authentication needed.
+
+.TP 12
+.BI \-C " Cookie name=value"
+Add a 'Cookie:' line to the request. The argument is typically
+a 'name=value' pair. This option may be repeated.
+
+.TP 12
+.BI \-p " Header string"
+Append extra headers to the request. The argument is typically in the form
+of a valid header line, usually a colon separated field value pair, for
+example, 'Accept-Encoding: zip/zop;8bit'.
+
+.TP 12
+.BI \-T " content-type"
+The content-type header to use for POST data.
+
+.TP 12
+.BI \-g " gnuplot file"
+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.
+
+.TP 12
+.BI \-q
+When processing more than 150 requsts;
+.B ab
+outputs a progress count on
+.B stderr
+every 10% or 100 requests or so. The
+.B -q
+flag qill suppress these messages.
+
+.TP 12
+.BI \-e " CSV file"
+Write a Comma separated value (CSV) file which contains for each
+percentage (from 1% to 100%) the time (in milli seconds) it took
+to serve that percentage of the requests. This is usually more
+usefull than the 'gnuplot' file; as the results are already
+'binned'.
+
+.TP 12
+.B \-v
+Sets the verbosity level. Level 4 and above prints information on headers,
+level 3 and above prints response codes (for example, 404, 200), and level 2
+and above prints warnings and informational messages.
+
+.TP 12
+.BI \-w
+Print out results in HTML tables. The default table is two columns wide,
+with a white background.
+.TP 12
+.BI \-x " attributes"
+The string to use as attributes for <table>. Attributes are inserted
+<table
+.B here
+>
+.TP 12
+.BI \-y " attributes"
+The string to use as attributes for <tr>.
+.TP 12
+.BI \-z " attributes"
+The string to use as attributes for <td>.
+.TP 12
+.B \-V
+Display the version number and exit.
+.TP 12
+.B \-h
+Display usage information.
+.PD
+.SH BUGS
+There are various statically declared buffers of fixed length. Combined
+with inefficient parsing of the command line arguments, the response headers
+from the server, and other external inputs, these buffers might overflow.
+.P
+.B Ab
+does not implement HTTP/1.x fully; instead, it only accepts
+some 'expected' forms of responses.
+.P
+The rather heavy use of
+.BR strstr(3)
+by the program may skew performance results, since it uses significant
+CPU resources. Make sure that performance limits are not hit by
+.B ab
+before your server's limit is reached.
+.P
+The HTML output is not as complete as the text output.
+.P
+Up to version 1.3d
+.B ab
+has propably reported values way too low for most measurements;
+as a single timeout (which is usually in the order of seconds)
+will shift several thousands of millisecond responses by a
+considerable factor. This was further componded by a serious
+integer overrun which would for realistic run's (i.e. those
+longer than a few minutes) produce believable but totally
+bogus results. Thanks to Sander Temme for solving this riddle.
+
+.SH SEE ALSO
+.BR httpd(8)
+.