2013-03-31 2 views
25

두 필드의 차이점은 무엇입니까? : 요청에 따라Apache Bench : 모든 동시 요청에 대한 평균 대 평균

  • 시간

어떻게 그들 각각의 계산 (모든 동시 요청에 걸쳐 평균)의 요청에 따라

  • 시간 (평균)?

    샘플 출력 :

    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입니다. 우리가 1000에 의해 25734.375 MS을 나누면

    , 당신은 (모든 동시 요청에서 의미) 정확한 요구 당 시간입니다 25.734 [MS] 필드의 값을 가져옵니다.

    요청 당 시간 (평균), 값은 77.203 [MS]이다. 값은 보다 약간 깁니다. 요청 당 시간 (모든 동시 요청에서 평균)은입니다. 이는 (평균)이 모든 특정 요청에 의해 계산되고 평균 시간을 계산하기 때문입니다.

    간단한 예를 들어 보겠습니다.

    동시 연결로 가정합니다. 테스트에 걸리는 시간은이며 90ms이고 각 요청은 40ms, 50ms, 30ms입니다. 따라서이 두 가지의 가치는 무엇입니까 요청 당 시간? = 요청 당

    • 시간 (평균) = (40 + 50 + 30)/3 = 40ms로
    • 요청 당 시간 (전체 동시 요청 걸쳐 평균) 3분의 90 = 30ms의

    당신이 이해할 수 있기를 바랍니다. :)

  • +1

    이것은 매우 좋은 설명입니다. 감사합니다. – tompave