1. ホーム
  2. benchmarking

[解決済み】ABの負荷テスト ... 偽の失敗したリクエスト(長さ)

2022-04-06 11:18:40

質問

自分のサーバーで、好奇心で負荷テストをするために、私は実行しました。

ab -kc 50 -t 200 http://localhost/index.php

これは50のkeep-alive接続を200秒間開き、index.phpへのリクエストでサーバーを混乱させるだけです。

私の結果では、次のようになります。

Concurrency Level:      50
Time taken for tests:   200.007 seconds
Complete requests:      33106
Failed requests:        32951
   (Connect: 0, Receive: 0, Length: 32951, Exceptions: 0)
Write errors:           0
Keep-Alive requests:    0
Total transferred:      1948268960 bytes
HTML transferred:       1938001392 bytes
Requests per second:    165.52 [#/sec] (mean)
Time per request:       302.071 [ms] (mean)
Time per request:       6.041 [ms] (mean, across all concurrent requests)
Transfer rate:          9512.69 [Kbytes/sec] received

32951 の "failed" リクエストに注意してください。 私はこれを理解することができません。

テスト実行中、自宅のコンピュータから自分のウェブサイトに完全にアクセスすることができましたが、ページ下部のページロード時間が通常の0.02ではなく0.5と報告されました。 しかし、一度もリクエストに失敗したことはありません。

では、なぜABは接続の半分が失敗すると報告しているのでしょうか? また、その中で "Length: " は何を意味しているのでしょうか?

解決するには?

気にしないでください。 length failure"は、単に約半分の時間、応答の長さが異なっていたことを示すだけです。

内容が動的なので、セッション識別子とかでしょうか。