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は遅すぎませんか?
負荷テストを実行する場合、任意の数を選択してサーバーにアクセスすることは、一般的に適切な方法ではありません。証明したのは、サーバーが200人の同時ビジターを処理できることです。ただし、ビジターがロードするリクエストを7秒程度待つことを気にしない限り、おそらくあなたがしたいことは:
結果が得られたら、グラフを表示します。訪問者の数と平均リクエスト時間(最大バーと最小バーを含む)。基本的に、任意のアプリケーションの負荷テストは関連するテストと同じくらい有用です。この場合、たとえば、ページをロードするのに1人のビジターが6秒かかる場合、200人のビジターの7秒のページは悪く聞こえませんか?
開始リクエスト数と同時リクエスト数を設定して開始し、次のように結果を確認できます。
- Total Number of Requests per seconds
- Average Time Per Request
- Average waiting / processing / connecting times
次に、予想されるユーザー数に近づくまで同時接続数を増やし、サービスの応答を監視してそれを何度も繰り返し、時間の変動を確認して平均をとることで、それらを拡大できます。