아파치 ab : 출력을 설명 해주세요


31

주변을 둘러 보았으며 출력에 대한 자세한 설명을 전혀 찾을 수 없습니다. 대부분은 실제로 이해하기 쉽지만 flummoxes 한 부분이 있습니다.

Time per request:       109537.505 [ms] (mean)
Time per request:       109.538 [ms] (mean, across all concurrent requests)

즉, 모든 동시 요청 (무엇이든간에)을 측정하면 요청이 갑자기 100 배 빠르게 반환됩니다. 요청 당 시간이 그렇게 많이 변하는 이유는 무엇입니까? 이것은 말이되지 않습니다.

이것과 ab 출력의 다른 부분에 대한 자세한 설명이 있습니까?

답변:


53

동시성이 1로 설정되어 있으면이 둘 사이에 차이가 없습니다 . 동시에 둘 이상의 요청이 수행되면 문제가 시작됩니다.

내가 얻는 것에 대한 예를 보자 localhost.

ab -c 1 -n 1000 http://localhost/

줄게:

Time taken for tests:   3.912 seconds
Time per request:       3.912 [ms] (mean)
Time per request:       3.912 [ms] (mean, across all concurrent requests)

이는 1000 개의 요청을 하나씩 수행하는 데 3.912 초가 필요하다는 것을 의미합니다. 따라서 단일 요청에는 평균 3.912 초 / 1000 = 3.912ms가 필요했습니다.

이제 동시성 수준을 약간 강화 해 보겠습니다.

ab -c 10 -n 1000 http://localhost/

Time taken for tests:   0.730 seconds
Time per request:       7.303 [ms] (mean)
Time per request:       0.730 [ms] (mean, across all concurrent requests)

이번에는 3.912 초 대신 작업을 완료하는 데 0.730 초만 필요합니다. 0.730 초 동안 1000 건의 요청을 수행 했으므로 한 건의 요청에는 평균 0.730 초 / 1000 = 0.730ms (마지막 줄)가 소요됩니다. 그러나 현재 10 건의 요청을 동시에 수행하고 있기 때문에 상황이 약간 다릅니다. 실제로 여기에있는 우리의 숫자는 하나의 요청을 완료하는 데 걸리는 실시간을 반영하지 않습니다 . 0.730ms * 10 (동시 요청 수) = 7.303ms 비동 시적으로 (또는 현재의 동시성 수준에서 격리 된 방식으로) 더 정확하게 실행 된 경우 단일 요청을 완료하는 데 평균 시간이 걸립니다.

마지막으로 본 숫자 (0.730ms)는 -n 1001현재 동시성 수준을 사용하여 하나의 요청 ( )을 추가 한 경우 총 시간이 얼마나 증가하는지 대략적으로 나타내는 데 사용됩니다 -c 10(적어도 이론적으로는 그렇습니다).

7.303ms는 단일 격리 요청이 얼마나 오래 실행되는지에 대한 개요를 제공합니다.

예제 -c 1-c 10다음 사이의 변경 사항 :

[-c 1 ]: Time per request:       3.912 [ms] (mean)
[-c 10]: Time per request:       7.303 [ms] (mean)

하나의 요청이 실행중인 유일한 요청 인 경우 더 빨리 실행됨을 의미합니다 -c 1. -c 10리소스와 경쟁하는 여러 요청이있는 경우 단일 요청을 완료하는 데 시간이 더 걸립니다. 그러나 동시에 10 건의 요청을 수행한다는 사실을 고려하면이 7.303 ms에서 1 대신 10 건의 요청을 처리합니다.

따라서 단일 요청에 대한 지연 측정 기준으로 7.303ms가 더 유용합니다. 그러나 성능 측정 기준으로 0.730 ms가 더 의미가 있습니다. 실제로 0.730ms <3.912ms 인 경우 10 개의 동시 요청을 허용하면 초당 더 많은 요청을 집계 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.