web-dev-qa-db-ja.com

ab(Apache Benchmark)の「失敗」で「受け取る」と「例外」とはどういう意味ですか?

Abからこの結果を取得する:

同時実行レベル:10000

テストにかかった時間:69.153秒

完全なリクエスト:30000

失敗したリクエスト:10379

(接続:0、受信:3424、長さ:3531、例外:3424

書き込みエラー:0

転送された合計:48414203バイト

転送されたHTML:41042477バイト

1秒あたりのリクエスト数:433.82

[#/秒](平均)

受信と例外とは正確にはどういう意味ですか。ありがとう。

3
joedevon

から http://httpd.Apache.org/docs/2.2/programs/ab.html

Failed requests
The number of requests that were considered a failure. If the number is greater
than zero,another line will be printed showing the numer of requests that
failed due to connecting, reading, incorrect content length, or exceptions.

「動的」ページをテストしている場合、コンテンツの長さが変更され、失敗する可能性があります。例としては、広告や画像、またはページ上のさまざまな結果があります。

例外は、推測では、アプリケーションによってページ上でスローされる単なる例外です。

バックエンドアプリケーションが負荷や接続に耐えられない可能性があるため、失敗率が高くなる可能性があります。

更新:abソースコードから、Receive(err_recvのカウント)は

/* catch legitimate fatal apr_socket_recv errors */
    else if (status != APR_SUCCESS) {
        err_recv++;
        if (recverrok) {
            bad++;
            close_connection(c);
            if (verbosity >= 1) {
                char buf[120];
                fprintf(stderr,"%s: %s (%d)\n", "apr_socket_recv", apr_strerror(status, buf, sizeof buf), status);
            }
            return;

これは基本的に、Apache/Webサーバーがabによって送信されたパケットに問題があったことを意味します。これは、ネットワーク、Apacheがビジーすぎるなど、さまざまな原因が考えられます。テストを実行したときに、Apache/Webサーバーのログにエラーが表示されましたか?具体的には、接続がリセットまたはタイムアウトしましたか?

2
Chida