web-dev-qa-db-ja.com

Apache Benchの結果を分析するにはどうすればよいですか?

Apache Benchからのログの分析にいくつかの助けが必要です。

Benchmarking texteli.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
Completed 1000 requests
Finished 1000 requests


Server Software:
Server Hostname:        texteli.com
Server Port:            80

Document Path:          /4f84b59c557eb79321000dfa
Document Length:        13400 bytes

Concurrency Level:      200
Time taken for tests:   37.030 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      13524000 bytes
HTML transferred:       13400000 bytes
Requests per second:    27.01 [#/sec] (mean)
Time per request:       7406.024 [ms] (mean)
Time per request:       37.030 [ms] (mean, across all concurrent requests)
Transfer rate:          356.66 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       27   37  19.5     34     319
Processing:    80 6273 1673.7   6907    8987
Waiting:       47 3436 2085.2   3345    8856
Total:        115 6310 1675.8   6940    9022

Percentage of the requests served within a certain time (ms)
  50%   6940
  66%   6968
  75%   6988
  80%   7007
  90%   7025
  95%   7078
  98%   8410
  99%   8876
 100%   9022 (longest request)

この結果から何がわかりますか? 27 rpsは遅すぎませんか?

7

負荷テストを実行する場合、任意の数を選択してサーバーにアクセスすることは、一般的に適切な方法ではありません。証明したのは、サーバーが200人の同時ビジターを処理できることです。ただし、ビジターがロードするリクエストを7秒程度待つことを気にしない限り、おそらくあなたがしたいことは:

  1. まず、ベースラインを確立します。 1人のビジターを使用します(1の同時実行)。
  2. 第二に、数を増やし始めます。たとえば、1、10、25、50、100、125、150、200などです。
  3. 最後に、これらのリクエストが長期間実行されることを確認してください(つまり、起動してから^ Cしないでください)。

結果が得られたら、グラフを表示します。訪問者の数と平均リクエスト時間(最大バーと最小バーを含む)。基本的に、任意のアプリケーションの負荷テストは関連するテストと同じくらい有用です。この場合、たとえば、ページをロードするのに1人のビジターが6秒かかる場合、200人のビジターの7秒のページは悪く聞こえませんか?

13
Andrew M.

開始リクエスト数と同時リクエスト数を設定して開始し、次のように結果を確認できます。

- Total Number of Requests per seconds
- Average Time Per Request
- Average waiting / processing / connecting times

次に、予想されるユーザー数に近づくまで同時接続数を増やし、サービスの応答を監視してそれを何度も繰り返し、時間の変動を確認して平均をとることで、それらを拡大できます。

1
Hany Hassan