12
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Apache BenchのTime per requestを調べてみた

Last updated at Posted at 2016-06-10

注意

Apache Benchの利用方法についての解説記事ではありません。

目的

Apache Benchの結果にある2つのTime per requestの意味を自分なりに理解する。
(間違いなどありましたら、ご指摘ください。)

結論

  • 一つ目のTime per request(mean)は、同時実行したリクエストの平均処理時間
  • 二つ目のTime per request(mean, across all concurrent requests)は、1リクエストの平均処理時間

背景

  • Apache Benchの結果にある一つ目のTime per requestが何を意味しているのか分からない。

公式サイトより

Time per request
The average time spent per request. The first value is calculated with the formula concurrency * timetaken * 1000 / done while the second value is calculated with the formula timetaken * 1000 / done

訳すと、
一つ目の値の公式は、「同時実行数 * 全てのリクエストが完了するのにかかった時間 * 1000 / 処理したリクエスト数」
二つ目の値の公式は、「全てのリクエストが完了するのにかかった時間 * 1000 / 処理したリクエスト数」

ということで、
一つ目の値は、二つ目の値に 同時実行数 をかけた値ということになる。

例えば

総リクエスト数100、同時実行数10で以下の結果が得られたとする。(関係のない項目は省略)

Concurrency Level:      10 # 同時実行数
Time taken for tests:   12.029 seconds # 全てのリクエストが完了するのにかかった時間
Complete requests:      100 # 処理したリクエスト数
Failed requests:        0
Requests per second:    8.31 [#/sec] (mean)
Time per request:       1202.947 [ms] (mean)
Time per request:       120.295 [ms] (mean, across all concurrent requests)

二つ目のTime per requestは公式に基づき、 12.029 sec * 1000 / 100 で 120.295 ms。
一つ目のTime per requestは上記の値に同時実行数をかけたものになるので、 120.295 * 10 で 1202.947

※ 実際の計算は一つ目からされていると思いますが、今回は理解のために二つ目から計算しています。

良く分からなかったのは

Time per request を 1リクエストにかかった時間と解釈していたから分からなかった。

最後に

Time per concurrent request とかの方が分かりやすいと思う。

参考サイト

追記(2016/06/10)

同時実行数といっているのに、1リクエストの平均処理時間に同時実行数をかけた値になっているのが良く分からない。
これだと同時実行数に指定したリクエスト数をシーケンシャルに実行した場合にかかる時間になるだけではないのかな。
うーん・・・よくわからない。

12
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?