ab - Apache HTTP サーバーベンチマークツール
ab [ -A auth-username:password ] [ -b windowsize ] [ -B local-address ] [ -c concurrency ] [ -C cookie-name=value ] [ -d ] [ -e csv-file ] [ -E client-certificate file ] [ -f protocol ] [ -g gnuplot-file ] [ -h ] [ -H custom-header ] [ -i ] [ -k ] [ -l ] [ -m HTTP-method ] [ -n requests ] [ -p POST-file ] [ -P proxy-auth-username:password ] [ -q ] [ -r ] [ -s timeout ] [ -S ] [ -t timelimit ] [ -T content-type ] [ -u PUT-file ] [ -v verbosity] [ -V ] [ -w ] [ -x <table>-attributes ] [ -X proxy[:port] ] [ -y <tr>-attributes ] [ -z <td>-attributes ] [ -Z ciphersuite ] [http[s]://]hostname[:port]/path
ab は、Apache Hypertext Transfer Protocol (HTTP) サーバーのベンチマークを行うためのツールです。これは、現在の Apache インストールがどのように実行されるかの印象を与えるように設計されています。これは特に、Apache インストールが処理できる 1 秒あたりのリクエスト数を示します。
BASIC 認証資格情報をサーバーに提供します。ユーザー名とパスワードは 1 つの : で区切られ、base64 でエンコードされてワイヤ上で送信されます。文字列は、サーバーがそれを必要とするかどうかに関係なく送信されます (つまり、必要な 401 認証を送信しました)。
TCP 送受信バッファのサイズ (バイト単位)。
発信接続を確立するときにバインドするアドレス。
一度に実行する複数のリクエストの数。デフォルトは一度に 1 つのリクエストです。
リクエストに Cookie: 行を追加します。引数は通常、名前=値のペアの形式になります。このフィールドは繰り返し可能です。
「XX [ms] 以内に配信された割合の表」を表示しません。 (レガシーサポート)。
パーセンテージ (1% から 100%) ごとに、リクエストのそのパーセンテージを処理するのにかかった時間 (ミリ秒単位) を含むカンマ区切り値 (CSV) ファイルを作成します。通常、これは「gnuplot」ファイルよりも便利です。結果はすでに「ビン化」されているためです。
SSL Web サイトに接続する場合は、提供された PEM 形式のクライアント証明書を使用してサーバーで認証します。ファイルには、クライアント証明書、中間証明書、秘密キーが含まれることが想定されています。 2.4.36 以降で利用可能です。
SSL/TLS プロトコル (SSL2、SSL3、TLS1、TLS1.1、TLS1.2、または ALL) を指定します。 TLS1.1 および TLS1.2 のサポートは 2.4.4 以降で利用可能です。
すべての測定値を「gnuplot」または TSV (タブ区切り値) ファイルとして書き出します。このファイルは、Gnuplot、IDL、Mathematica、Igor、さらには Excel などのパッケージに簡単にインポートできます。ラベルはファイルの最初の行にあります。
使用状況情報を表示します。
リクエストに追加のヘッダーを追加します。通常、引数は有効なヘッダー行の形式で、コロンで区切られたフィールドと値のペア (つまり、"Accept-Encoding: zip/zop;8bit") が含まれます。 )。
GET の代わりに HEAD リクエストを実行します。
HTTP KeepAlive 機能を有効にすると、つまり 1 つの HTTP セッション内で複数のリクエストが実行されます。デフォルトはキープアライブなしです。
応答の長さが一定でない場合は、エラーを報告しません。これは動的ページに役立ちます。 2.4.7 以降で利用可能です。
リクエストのカスタム HTTP メソッド。 2.4.10 以降で利用可能です。
ベンチマーク セッションで実行するリクエストの数。デフォルトでは、単一のリクエストのみを実行します。これにより、通常は代表的ではないベンチマーク結果が得られます。
POSTするデータを含むファイル。 -T も忘れずに設定してください。
途中で BASIC 認証資格情報をプロキシに提供します。ユーザー名とパスワードは 1 つの : で区切られ、base64 でエンコードされてワイヤ上で送信されます。文字列は、プロキシがそれを必要とするかどうかに関係なく送信されます (つまり、必要な 407 プロキシ認証を送信しました)。
150 を超えるリクエストを処理する場合、ab は 10% または 100 リクエストごとに進行状況カウントを stderr に出力します。 -q フラグは、これらのメッセージを抑制します。
ソケット受信エラー時に終了しないでください。
ソケットがタイムアウトになるまで待機する最大秒数。デフォルトは 30 秒です。 2.4.4以降で利用可能です。
中央値と標準偏差の値を表示しません。平均と中央値が標準偏差の 1 倍または 2 倍を超えて離れている場合は、警告/エラー メッセージも表示しません。デフォルトは最小/平均/最大値です。 (レガシーサポート)。
ベンチマークに費やす最大秒数。これは内部的に -n 50000 を意味します。これを使用して、一定の合計時間内でサーバーのベンチマークを実行します。デフォルトでは時間制限はありません。
POST/PUT データに使用するコンテンツ タイプ ヘッダー。 application/x-www-form-urlencoded。デフォルトはテキスト/プレーンです。
PUTするデータを含むファイル。 -T も忘れずに設定してください。
詳細レベルを設定します - 4 以上ではヘッダーの情報が出力され、3 以上では応答コード (404、200 など)、2 が出力されます。上記は警告と情報を出力します。
バージョン番号を表示して終了します。
結果を HTML テーブルに出力します。デフォルトのテーブルは 2 列幅で、背景は白です。
テーブルの属性として使用する文字列。属性はテーブルのここに挿入されます。
リクエストにはプロキシ サーバーを使用します。
SSL/TLS 暗号スイートを指定します (openssl 暗号を参照) 次のリストでは、ab によって返される値について説明します。 最初の成功した応答のサーバー HTTP ヘッダーで返される値 (存在する場合)。これには、最初から 10 進数値 32 の文字 (最も注目すべきもの: スペースまたは CR/LF) が検出されるまでのヘッダー内のすべての文字が含まれます。 コマンドラインで指定されたDNSまたはIPアドレス ab が接続しているポート。コマンドラインでポートが指定されていない場合、デフォルトで http の場合は 80、https の場合は 443 になります。 クライアントとサーバー間でネゴシエートされるプロトコル パラメータ。これは、SSL が使用されている場合にのみ出力されます。 コマンドライン文字列から解析されたリクエスト URI。 これは、最初に正常に返されたドキュメントのバイト単位のサイズです。テスト中にドキュメントの長さが変更された場合、応答はエラーとみなされます。 テスト中に使用される同時クライアントの数 これは、最初のソケット接続が作成された瞬間から最後の応答を受信するまでにかかる時間です。 受信した成功した応答の数 失敗とみなされたリクエストの数。数値が 0 より大きい場合は、接続、読み取り、不正なコンテンツの長さ、または例外が原因で失敗したリクエストの数を示す別の行が出力されます。 書き込み中に失敗したエラー(パイプ破損)の数。 200 系列の応答コードに含まれない応答の数。すべての応答が 200 の場合、このフィールドは出力されません。 Keep-Alive リクエストが発生した接続の数 テストの一部としてデータを送信するように構成されている場合、これはテスト中に送信された合計バイト数です。テストに送信する本文が含まれていない場合、このフィールドは省略されます。 サーバーから受信した合計バイト数。この数値は本質的に、ネットワーク上で送信されたバイト数です。 サーバーから受信したドキュメントの合計バイト数。この数値には、HTTP ヘッダーで受信したバイト数は含まれません。 これは 1 秒あたりのリクエスト数です。この値は、リクエストの数をかかった合計時間で割った結果です。 リクエストごとに費やされる平均時間。最初の値は同時実行 * 所要時間 * 1000/完了の式で計算され、2 番目の値は所要時間 * 1000/完了の式で計算されます。 合計読み取り/1024/所要時間 という式で計算される転送率 固定長の静的に宣言されたさまざまなバッファーがあります。コマンド ライン引数、サーバーからの応答ヘッダー、およびその他の外部入力の遅延解析と組み合わせると、これが厄介になる可能性があります。 HTTP/1.x は完全には実装されていません。一部の「予期される」形式の応答のみを受け入れます。 strstr(3) のかなり頻繁な使用がプロファイルの一番上に表示されており、パフォーマンスの問題を示している可能性があります。つまり、 サーバーのパフォーマンスではなく絶対のパフォーマンスを測定します。 の属性として使用する文字列。 の属性として使用する文字列。 出力
バグ