Se você tiver a concorrência definida como 1, não haverá diferença entre os dois. Começa a importar quando você tem mais de uma solicitação executada simultaneamente.
Vejamos um exemplo do que recebo no meu localhost
:
ab -c 1 -n 1000 http://localhost/
darei:
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)
Isso significa que foram necessários 3,912 segundos para executar 1000 solicitações, uma por uma. Portanto, uma única solicitação precisava de 3,912 segundos / 1000 = 3,912 ms, em média.
Agora vamos reforçar um pouco o nível de simultaneidade:
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)
Desta vez, em vez de 3,912 segundos, precisamos de apenas 0,730 segundos para concluir o trabalho. Executamos 1000 solicitações em 0,730 segundos, portanto, uma solicitação levaria em média 0,730 segundos / 1000 = 0,730 ms (última linha). Mas a situação é um pouco diferente, pois agora estamos executando 10 solicitações simultaneamente. Portanto, nosso número aqui não está refletindo o tempo real necessário para que uma solicitação seja concluída . 0,730 ms * 10 (número de solicitações simultâneas) = 7,303 ms. É o tempo que leva, em média, para que uma única solicitação seja concluída se for executada de forma não simultânea (ou mais corretamente, de maneira isolada no atual nível de simultaneidade).
O último número que você vê (0,730 ms) é usado para dizer aproximadamente quanto tempo aumentaria se você adicionasse 1 solicitação ( -n 1001
) usando o nível de simultaneidade atual -c 10
(pelo menos teoricamente é isso).
Os 7,303 ms fornecem uma visão geral de quanto tempo uma única solicitação isolada seria executada.
A alteração que você vê entre exemplo -c 1
e -c 10
:
[-c 1 ]: Time per request: 3.912 [ms] (mean)
[-c 10]: Time per request: 7.303 [ms] (mean)
significa que uma única solicitação é executada mais rapidamente se for a única sendo executada -c 1
. Se houver várias solicitações -c 10
competindo por recursos, uma única solicitação levará mais tempo para ser concluída. Mas se você levar em consideração o fato de estar executando 10 dessas solicitações ao mesmo tempo, nesses 7,303 ms, você lida com 10 solicitações em vez de 1.
Portanto, como uma medida de atraso para uma única solicitação - os 7,303 ms são mais úteis. Mas como uma medida de desempenho - 0,730 ms é mais significativo. De fato, como 0,730 ms <3,912 ms, você verá que poderá atender a mais solicitações por segundo no agregado se permitir 10 solicitações simultâneas.