Trouble deciphering Autobench output
-
22-09-2019 - |
Question
I'm trying to benchmark a simple webserver I wrote, but I'm having trouble deciphering what Autobench has outputted. I've been googling all over for help on this (even going through the autobench and httperf source code) but haven't been able to grok what's going on.
I ran the following benchmark on my server:
autobench --single_host --host1 10.0.1.5 --port1 5555 --uri1 /Tests --quiet --low_rate 20 --high_rate 200 --rate_step 20 --num_call 10 --num_conn 5000 --timeout 5 --file results.csv
Here's my results.csv file (with some extra whitespace for readability):
dem_req_rate,req_rate,con_rate,min_rep_rate,avg_rep_rate,max_rep_rate,stddev_rep_rate,resp_time,net_io,errors
200, 40.0, 20.0, 20.0, 20.0, 20.0, 0.0, 6.2, 15.6, 100
400, 80.0, 40.0, 40.0, 40.0, 40.0, 0.0, 6.4, 31.2, 100
600, 119.9, 60.0, 57.0, 59.9, 61.4, 0.9, 17.9, 46.8, 100.160256410256
800, 159.5, 79.9, 76.0, 79.5, 82.4, 2.1, 32.5, 62.1, 100.48231511254
1000, 155.9, 94.0, 55.8, 64.7, 75.8, 6.2, 129.4, 50.4, 151.975683890577
1200, 156.7, 112.6, 28.0, 45.5, 63.2, 11.3, 148.0, 38.9, 255.232261357836
1400, 154.7, 121.8, 22.2, 38.1, 51.6, 9.3, 175.6, 34.2, 328.299409061064
1600, 154.5, 134.7, 15.6, 28.7, 52.8, 13.3, 211.6, 27.7, 498.504486540379
1800, 143.5, 138.7, 3.2, 18.6, 41.0, 11.7, 185.1, 21.1, 768.049155145929
2000, 158.8, 159.4, 5.6, 18.0, 45.6, 14.6, 234.7, 21.6, 925.925925925926
I'm wondering:
What does dem_req_rate
mean? What does net_io
mean? What does errors
mean? How does errors
relate to dem_req_rate
? What units are all of these in?
Solution
Hi I also searched for it:
dem_req_rate = num_call * curr_rate
wherecurr_rate
is the rate passed tohttperf
depending on the iteration number and the setting ofrate_step
,low_rate
andhigh_rate
params (man autobench for more on those params)net_io
= the average network throughput in kilobytes per second KB/s
is theNet I/O
fromhttperf
from theMiscellaneous Section
of its output and man page(not linked)errors
is theTotal errors
from theErrors Section
ofhttperf
results and its man page(not linked)
OTHER TIPS
Just man httperf
you will find detail info.
Errors is supposed to be the % of errors, but in the version of autobench I have (2.1.1) the value is calculated incorrectly.
It is:
$results{percent_errors} = ( 100 * $results{errors} / $results{replies} );
It should be:
$results{percent_errors} = ( 100 * $results{errors} / ($results{replies} + $results{errors}) );