Apacheのパフォーマンス測定に利用されるabコマンド(Apache Bench)についてのメモ。
$ /usr/local/apache/bin/ab -n [リクエスト発行数] -c [同時に発行するリクエスト数]-A[ユーザID:パスワード(Basic認証用)] [リクエスト対象URL]
といった感じでテストします。
ex.)
$ /usr/local/apache/bin/ab -n 1000 -c 5
http://fine.ap.teacup.com/hepo/
http://fine.ap.teacup.com/hepo/ に対して、同時リクエスト数5回を、合計1000リクエスト投げる(=同時5回を200回)
戻ってくる結果は以下のようなものが返ってきます。
結果:
Server Software: Apache/2.0.59 ← サーバのWebサーバソフト
Server Hostname: fine.ap.teacup.com ← サーバホスト名
Server Port: 80 ← サーバポート番号
Document Path: /hepo/ ← リクエスト対象PATH
Document Length: 22039 bytes
Concurrency Level: 5
Time taken for tests: 15.631 seconds
Complete requests: 1000 ← リクエスト成功回数
Failed requests: 0 ← リクエスト失敗回数(今回は0。つまりエラーなし!)
Broken pipe errors: 0
Total transferred: 22342600 bytes
HTML transferred: 22085576 bytes
Requests per second: 63.98 [#/sec] (mean) ←1秒間で処理されたリクエスト数
Time per request: 78.16 [ms] (mean)
Time per request: 15.63 [ms] (mean, across all concurrent requests)
Transfer rate: 1429.38 [Kbytes/sec] received ← 1秒間で受信したデータ量
Connnection Times (ms)
min mean[+/-sd] median max
Connect: 7 8 0.8 8 16 ← 接続にかかった時間?
Processing: 45 69 196.5 43 3044 ← 処理にかかった時間?
Waiting: 39 69 196.5 42 3043 ← 待ち時間
Total: 47 78 196.5 51 3053 ← 合計でどれくらいかかったか時間
Percentage of the requests served within a certain time (ms) ← どのくらい待てばどれくらいのリクエストが来るのか
50% 51 ← 50%のリクエストが0.051秒 以内にかえってくる。
66% 53 ← 66%のリクエストが0.053秒 以内にかえってくる。
75% 56 ← 75%のリクエストが0.056秒 以内にかえってくる。
80% 60 ← 80%のリクエストが0.060秒 以内にかえってくる。
90% 90 ← 90%のリクエストが0.090秒 以内にかえってくる。
95% 126 ← 95%のリクエストが0.126秒 以内にかえってくる。
98% 272 ← 98%のリクエストが0.272秒 以内にかえってくる。
99% 355 ← 99%のリクエストが0.355秒 以内にかえってくる。
100% 3053 (last request)← 一番遅いリクエストは3.053秒かかった。

5