mirror of
https://github.com/apache/httpd.git
synced 2025-05-19 02:21:09 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87778 13f79535-47bb-0310-9956-ffa450edef68
209 lines
6.3 KiB
Groff
209 lines
6.3 KiB
Groff
.TH ab 1 "March 2000"
|
|
.\" The Apache Software License, Version 1.1
|
|
.\"
|
|
.\" Copyright (c) 2000 The Apache Software Foundation. All rights
|
|
.\" reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\"
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\"
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in
|
|
.\" the documentation and/or other materials provided with the
|
|
.\" distribution.
|
|
.\"
|
|
.\" 3. The end-user documentation included with the redistribution,
|
|
.\" if any, must include the following acknowledgment:
|
|
.\" "This product includes software developed by the
|
|
.\" Apache Software Foundation (http://www.apache.org/)."
|
|
.\" Alternately, this acknowledgment may appear in the software itself,
|
|
.\" if and wherever such third-party acknowledgments normally appear.
|
|
.\"
|
|
.\" 4. The names "Apache" and "Apache Software Foundation" must
|
|
.\" not be used to endorse or promote products derived from this
|
|
.\" software without prior written permission. For written
|
|
.\" permission, please contact apache@apache.org.
|
|
.\"
|
|
.\" 5. Products derived from this software may not be called "Apache",
|
|
.\" nor may "Apache" appear in their name, without prior written
|
|
.\" permission of the Apache Software Foundation.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
|
.\" WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
.\" DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
|
|
.\" ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
.\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
|
.\" USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
.\" ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
.\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" This software consists of voluntary contributions made by many
|
|
.\" individuals on behalf of the Apache Software Foundation. For more
|
|
.\" information on the Apache Software Foundation, please see
|
|
.\" <http://www.apache.org/>.
|
|
.\"
|
|
.SH NAME
|
|
ab \- Apache HTTP server benchmarking tool
|
|
.SH SYNOPSIS
|
|
.B ab
|
|
[
|
|
.B \-k
|
|
] [
|
|
.BI \-n " requests"
|
|
] [
|
|
.BI \-t " timelimit"
|
|
] [
|
|
.BI \-c " concurrency"
|
|
] [
|
|
.BI \-p " POST file"
|
|
] [
|
|
.BI \-A " Authentication username:password"
|
|
] [
|
|
.BI \-P " Proxy Authentication username:password"
|
|
] [
|
|
.BI \-H " Custom header"
|
|
] [
|
|
.BI \-C " Cookie name=value"
|
|
] [
|
|
.BI \-T " content-type"
|
|
] [
|
|
.BI \-v " verbosity"
|
|
]
|
|
] [
|
|
.BI \-w " output HTML"
|
|
]
|
|
] [
|
|
.BI \-x " <table> attributes"
|
|
]
|
|
] [
|
|
.BI \-y " <tr> attributes"
|
|
]
|
|
] [
|
|
.BI \-z " <td> attributes"
|
|
]
|
|
.I [http://]hostname[:port]/path
|
|
|
|
.B ab
|
|
[
|
|
.B \-V
|
|
] [
|
|
.B \-h
|
|
]
|
|
.PP
|
|
.SH DESCRIPTION
|
|
.B 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.
|
|
.PP
|
|
.SH OPTIONS
|
|
.TP 12
|
|
.B \-k
|
|
Enable the HTTP KeepAlive feature, i.e., perform multiple requests within one
|
|
HTTP session. Default is no KeepAlive.
|
|
.TP 12
|
|
.BI \-n " requests"
|
|
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.
|
|
.TP 12
|
|
.BI \-t " timelimit"
|
|
Maximum number of seconds to spend for benchmarking. This implies
|
|
a
|
|
.B \-n
|
|
.B 50000
|
|
internally. Use this to benchmark the server within a fixed total amount of
|
|
time. Per default there is no timelimit.
|
|
.TP 12
|
|
.BI \-c " concurrency"
|
|
Number of multiple requests to perform at a time.
|
|
Default is one request at a time.
|
|
|
|
.TP 12
|
|
.BI \-p " POST file"
|
|
File containing data to POST.
|
|
|
|
.TP 12
|
|
.BI \-A " Authentication username:password"
|
|
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 authentication needed).
|
|
|
|
.TP 12
|
|
.BI \-p " Proxy-Authentication username:password"
|
|
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).
|
|
|
|
.TP 12
|
|
.BI \-C " Cookie name=value"
|
|
Add a 'Cookie:' line to the request. The argument is typically in the form
|
|
of a 'name=value' pair. This field is repeatable.
|
|
|
|
.TP 12
|
|
.BI \-p " Header string"
|
|
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.
|
|
(i.e., 'Accept-Encoding: zip/zop;8bit').
|
|
|
|
.TP 12
|
|
.BI \-T " content-type"
|
|
Content-type header to use for POST data.
|
|
|
|
.TP 12
|
|
.B \-v
|
|
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.
|
|
|
|
.TP 12
|
|
.BI \-w
|
|
Print out results in HTML tables. Default table is two columns wide,
|
|
with a white background.
|
|
.TP 12
|
|
.BI \-x " attributes"
|
|
String to use as attributes for <table>. Attributes are inserted
|
|
<table
|
|
.B here
|
|
>
|
|
.TP 12
|
|
.BI \-y " attributes"
|
|
String to use as attributes for <tr>.
|
|
.TP 12
|
|
.BI \-z " attributes"
|
|
String to use as attributes for <td>.
|
|
.TP 12
|
|
.B \-V
|
|
Display 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 the lazy parsing of the command line arguments, the response headers
|
|
from the server and other external inputs, this might bite you.
|
|
.P
|
|
It does not implement HTTP/1.x fully; only accepts some 'expected' forms
|
|
of responses. The rather heavy use of
|
|
.BR strstr(3)
|
|
shows up top in profile,
|
|
which might indicate a performance problem; i.e., you would measure the
|
|
.BR ab
|
|
performance rather than the server's.
|
|
|
|
.SH SEE ALSO
|
|
.BR httpd(8)
|
|
.
|