Search code examples
multithreadingperformanceperformancecountersimultaneous-calls

Confused about average response time and calls per second correlation


I have average response time, lets say its 10 secs, also I have a max number of parallel connections my service can handle, lay say its 10. Now, how do I calculate calls per second (CPS) value my service has handled from these data?

My guess is it's 1 / 10 (= av time) = 0.1 CPS or 1 / 10 (av time) * 10 (parallel flows) = 1 CPS.


Solution

  • If you are just measuring average throughput then yes, 10 calls in 10 seconds is 1 per second.

    Your users/consumers may also be (more) concerned with latency (average response time) which is 10 seconds for all of them.

    As noted in the comment, average is only part of the story. How does your service handle peak loads - does throughput drop off precipitously after a certain point, or is degradation more graceful as load goes up? Is 10 seconds the best possible response time, or is this better under low load conditions? Worse under high load?

    There are some old but useful guidelines targeting .Net, but of general interest, here.