2013-03-31 30 views
25

這兩個字段有什麼區別? :每個請求Apache Bench:所有併發請求的均值vs均值

  • 時間(平均)每個請求
  • 時間(意思是說,在所有的併發請求)

如何被他們每個人的計算?

樣本輸出:

Time per request:  3953.446 [ms] (mean) 
Time per request:  39.534 [ms] (mean, across all concurrent requests) 

爲什麼有多大差別?

+3

請參閱http://serverfault.com/questions/274252/apache-ab-please-explain-the-output – Kevin

回答

16

看到您的輸入會很有幫助,但是,我相信輸出會告訴您執行併發請求沒有節省時間。每個請求

時間(平均)告訴你花費的時間爲併發組請求處理的平均量。每個請求

時間(意思是說,在所有的併發請求)告訴你花費的時間爲要求自行處理的平均量。

如果您同時處理了100個請求,則需要3953.446ms。

如果單獨處理它們,它會採取39.534ms * 100 = 3953.4ms

相同的號碼。執行併發請求沒有時間節省(至少對於您測試的請求總數)。

+1

我不明白併發請求如何導致更快的個人請求。每個請求的時間(平均值,跨越所有併發請求)僅告訴我處理併發請求的效率。 – Saab

11

這裏是一個ab的測試結果的例子。我製作請求與併發請求。

C:\>ab -d -e a.csv -v 1 -n 1000 -c 3 http://www.example.com/index.aspx 
This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0 
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ 
Copyright (c) 2006 The Apache Software Foundation, http://www.apache.org/ 

Benchmarking www.m-taoyuan.tw (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 
Finished 1000 requests 


Server Software:  Microsoft-IIS/6.0 
Server Hostname:  www.m-taoyuan.tw 
Server Port:   80 

Document Path:   /index.aspx 
Document Length:  25986 bytes 

Concurrency Level:  3 
Time taken for tests: 25.734375 seconds 
Complete requests:  1000 
Failed requests:  0 
Write errors:   0 
Total transferred:  26372000 bytes 
HTML transferred:  25986000 bytes 
Requests per second: 38.86 [#/sec] (mean) 
Time per request:  77.203 [ms] (mean) 
Time per request:  25.734 [ms] (mean, across all concurrent requests) 
Transfer rate:   1000.72 [Kbytes/sec] received 

Connection Times (ms) 
       min mean[+/-sd] median max 
Connect:  0 1 4.4  0  15 
Processing: 62 75 9.1  78  109 
Waiting:  46 64 8.0  62  109 
Total:   62 76 9.3  78  109 

正如你所看到的,有每個請求領域的兩項時間。每個請求

  • 時間(平均)每個請求
  • 時間(意思是說,在所有的併發請求)

請檢查採取測試場第一時間。值爲25.734375秒即25734.375 ms

如果我們把25734.375 MS通過,你會得到25.734 [毫秒]這是確切的每個請求的時間(意思是說,在所有的併發請求)字段的值。

對於每個請求的時間(平均值),值是77.203 [ms]。該值比的時間長一點(每個請求的平均值,跨所有併發請求)。這是因爲(平均值)是由每個特定請求計算的,並計算它的平均時間。

讓我給你一個簡單的例子。

假設我們做請求與併發連接。 測試所需時間將爲90ms,每個請求爲40ms,50ms,30ms。那麼這兩個價值是多少每個請求的時間?每個請求

  • 時間(平均)=(40 + 50 + 30)/ 3 = 40毫秒
  • 每個請求時間(平均值,在所有的併發請求)= 90/3 = 30毫秒

希望你能理解。 :)

+1

這是一個很好的解釋,謝謝。 – tompave