Be cool if we can add stuff to the readme explaining how to interpret the results
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?
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
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.
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.