Explaination of Results #29

Closed
jtushman opened this Issue Mar 21, 2012 · 3 comments

3 participants

@jtushman

Be cool if we can add stuff to the readme explaining how to interpret the results

For example:

Complete requests:      10000
Requests per second:    129.790000 [#/sec] (mean)
Time per request:       955.401750 [ms] (mean)
50% response time:      278.750000 [ms] (mean)
90% response time:      2833.000000 [ms] (mean)

Is 50% line the average time? or is the Time per request the average?
Is 90% line saying that the worst 10% of responses returned an average of 2833?

Thanks!

@Kalyse

Correct me if I am wrong.

It means that 50% of the results responded within 278.55ms.
90% the responses were responded to within 2833.00ms

@deanmalmgren

From the source code it looks like its not quite the case that 50% of all requests from all bees responded within 278.55ms. It appears that this is the average across the different bees of the 50th percentile of results. So if there are 4 bees and they each report that 50% of responses are faster than 240ms, 230ms, 270ms, 350ms, the "50% response time" would be 272.5ms=(240+230+270+350)/4.

Maybe we could explicitly say something like:

50% of responses faster than:    278.75000 [ms] (mean across all completed bees)
90% of responses faster than:    2833.000000 [ms] (mean across all completed bees)

Another alternative would be to pass the -e option to ab on line 217 which allows you to dump the precise percentile numbers into a csv file. With this information, you could actually report the global 50% and 90% times across all bees rather than having to report a cumbersome statistic in the first place.

Thoughts?

@deanmalmgren

added a pull request to implement the second option and correctly calculating the median and 90th percentiles across all bees. What can I say....I was on a roll and having some fun.

@cosmin cosmin closed this in 4bf7b2d Apr 28, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment