Benchmark

ab(Apache Benchmark)“失敗”中的“接收”和“異常”是什麼意思?

  • August 19, 2012

從 ab 得到這個結果:

並發級別:10000

測試時間:69.153 秒

完成請求:30000

失敗的請求:10379  

(連接:0,接收:3424,長度:3531,例外:3424

寫入錯誤:0

總傳輸量:48414203 字節

傳輸的 HTML:41042477 字節

每秒請求數:433.82

$$ #/sec $$(意思是)

接收和例外是什麼意思。謝謝。

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 原始碼,接收(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/webserver 在處理 ab 發送的數據包時遇到了問題。這可能是因為很多事情——網路、apache 太忙……當您執行測試時,您是否在 apache/webserver 日誌中看到任何錯誤?具體來說,連接重置或超時?

引用自:https://serverfault.com/questions/419033