2011-09-26 54 views
1

我正在用apache基準測試PHP應用程序。我的本地機器上有服務器。我運行以下命令:Apache基準測試:總平均毫秒數表示什麼?

ab -n 100 -c 10 http://my-domain.local/ 

而得到這樣的:

Connection Times (ms) 
       min mean[+/-sd] median max 
Connect:  0 3 3.7  2  8 
Processing: 311 734 276.1 756 1333 
Waiting:  310 722 273.6 750 1330 
Total:  311 737 278.9 764 1341 

但是,如果我刷新頁面http://my-domain.local/我發現在我的瀏覽器,它需要大量的時間超過737毫秒(平均是AB報告)加載頁面(大約3000-4000毫秒)。我可以多次重複,並且在瀏覽器中加載頁面至少需要3000毫秒。

我測試了另一個較重的頁面(瀏覽器中的頁面加載需要8-10秒)。我用了1併發來模擬一個用戶加載頁面:

ab -n 100 -c 1 http://my-domain.local/heavy-page/ 

而且結果在這裏:

Connection Times (ms) 
       min mean[+/-sd] median max 
Connect:  0 0 0.1  0  1 
Processing: 17 20 4.7  18  46 
Waiting:  16 20 4.6  18  46 
Total:   17 20 4.7  18  46 

那麼,是什麼在AB結果共行實際上告訴?顯然,這不是瀏覽器加載網頁的毫秒數。從瀏覽器加載頁面(X)所需的毫秒數是線性依賴於總平均毫秒數ab report(Y)的數量?所以如果我能夠減少Y的一半,我是否也減少了X的一半?

(我也不確定Processing,Waiting和Total的含義)。


由於我再次遇到問題,我將重新打開此問題。 最近我安裝了清漆。 我跑AB這樣的: AB -n 100 http://my-domain.local/ 阿帕奇板凳報告非常快的響應時間:

Requests per second: 462.92 [#/sec] (mean) 
Time per request:  2.160 [ms] (mean) 
Time per request:  2.160 [ms] (mean, across all concurrent requests) 
Transfer rate:   6131.37 [Kbytes/sec] received 

Connection Times (ms) 
       min mean[+/-sd] median max 
Connect:  0 0 0.0  0  0 
Processing:  1 2 2.3  1  13 
Waiting:  0 1 2.0  1  12 
Total:   1 2 2.3  1  13 

所以每個請求的時間大約是2.2毫秒。當我瀏覽網站時(作爲匿名用戶),頁面加載時間大約爲1.5秒。

這是一張來自Firebug net tab的圖片。正如你所看到的,我的瀏覽器正在等待1.68秒讓我的網站響應。爲什麼這個數字比請求時間報告大得多? Snapshot from Firebug net tab

回答

0

您是否在服務器上運行ab?不要忘記,您的瀏覽器對您而言是遠程網絡鏈接。在網絡服務器上運行的ab本身幾乎沒有網絡開銷,並且基本上報告了Apache服務頁面所需的時間。然而,您的主頁瀏覽器鏈接將在基本頁面服務開銷之上添加許多毫秒的網絡傳輸時間。

+0

瀏覽器和服務器都在我的本地機器上運行。我測試了另一頁,並相應地更新了我的原始問題。 – jjei

0

好的..我想我知道有什麼問題。雖然我一直在瀏覽器中測量頁面加載時間,但我已經登錄了。因此,沒有一件重要的事情正在發生。瀏覽器中匿名用戶的頁面加載時間更接近ab正在報告的時間。

+0

我會再次標記爲未解決問題,因爲即使以匿名用戶身份瀏覽時,問題仍然存在。看到額外的問題。 – jjei