Apache 資料一覧

ベンチマークを取る方法(ab)

2008/6/18更新

対応バージョン: 2.2.9

Apacheにはabというベンチマークツールが付属するのでこれを使用してWebサーバのベンチマークを取ることができる。

以下にabの主なオプションを示す。

-n <数値>

テストで発行するリクエストの回数を数値で指定

-c <数値>

テストで同時に発行するリクエストの数を数値で指定

-t <数値>

サーバからのレスポンスの待ち時間(秒)を数値で指定

-p <ファイル名>

サーバへ送信するファイルがある場合に指定

-T <コンテンツタイプ>

サーバへ送信するコンテンツヘッダを指定

-v <数値>

指定した数値に応じた動作情報を表示

-w

結果をHTMLで出力

-i

GETリクエストの代わりにHEADを使用

-x <属性>

HTML出力のtableタグに属性を追加

-y <属性>

HTML出力のtrタグに属性を追加

-z <属性>

HTML出力のtdまたはthタグに属性を追加

-C =<値>

Cookie値を渡してテストする

-H <属性>

ヘッダに属性を追加(例:Accept-Encoding: gzip)

-A <ユーザ名>:<パスワード>

ベーシック認証が必要なコンテンツをテストする

-P <ユーザ名>:<パスワード>

認証の必要なプロキシを通じてテストする

-X <プロキシサーバ名>:<ポート>

プロキシ経由でリクエストする場合に指定

-V

abのバージョン番号を表示

-k

HTTP/1.1のKeepAliveを有効にしてテストする

-d

テストの進捗度合を表示しない

-S

信頼性に間する評価を表示しない

-g <ファイル名>

収集結果をgnuplotフォーマットでファイルに出力する

-e <ファイル名>

収集結果をCSVフォーマットでファイルに出力する

-h

abのヘルプを表示

-Z

SSL/TLSのCipher Suite(暗号アルゴリズムとハッシュアルゴリズムの組み合わせ)を指定する(例:RC4_128_SHA)

-f <プロトコル>

SSL/TLSのプロトコルを指定する(例:SSL3)

実行例) 1回に100リクエストを発行し、合計1000リクエストを処理する。

% /usr/local/apache2/bin/ab -n 1000 -c 100 http://foo.bar.com/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking foo.bar.com (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Finished 1000 requests

Server Software:      Apache/2.2.9
Server Hostname:      foo.bar.com
Server Port:          80

Document Path:        /
Document Length:      11198 bytes

Concurrency Level:    100
Time taken for tests: 20.783763 seconds
Complete requests:    1000
Failed requests:      0
Write errors:         0
Total transferred:    3965749 bytes
HTML transferred:     3783567 bytes
Requests per second:  48.11 [#/sec] (mean) ← 1秒間に処理されたリクエスト数
Time per request:     2078.376 [ms] (mean)
Time per request:     20.784 [ms] (mean, across all concurrent requests)
Transfer rate:        186.30 [Kbytes/sec] received ← 転送速度

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    2   6.5      0      43 ← 接続時間
Processing:   432 2020 288.5   2071    2781 ← 処理時間
Waiting:      429 1811 331.2   1875    2652 ← 待ち時間
Total:        445 2022 285.7   2072    2797

Percentage of the requests served within a certain time (ms)
  50%   2072
  66%   2114
  75%   2147
  80%   2181
  90%   2277
  95%   2336
  98%   2385
  99%   2552
 100%   2797 (longest request)