views:

215

answers:

1

I did a few Google search, but found no explanation of how it actually performs stress tests.

As far as I understand, concurrency means simultaneous number of connections.

ab probably starts the given "c" number of connections at the very same time, and hold back the following waves until all requests are fulfilled. Am I right?

Given a higher number of requests, ab may perform requests/concurrency number of waves. Is this correct?

In light of these statements, what do these numbers mean:

  • Time/request
  • Time/request across all concurrent requests
  • Requests/second

(Basically the second measurement means to me that ab will send a new request in each concurrency level immediately after the previous one is fulfilled.)

So I'm confused. Thanks in advance.

A: 

I couldn't find anything to back this up, but I'm pretty sure that ab keeps track of concurrent requests and keeps a constant number of requests active, rather than sending requests in waves. For example, if you specify 50 concurrent connections, rather than waiting for the first 50 requests to complete and then sending another 50, ab will keep sending a new request as soon as a request completes, so that there will always be 50 active connections.

gareth_bowles
This confirms my second thought. If so, what's the difference between time/request and time/request across all concurrent requests?
pestaa