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?

Was it helpful?

Solution

Hi I also searched for it:

  • dem_req_rate = num_call * curr_rate
    where curr_rate is the rate passed to httperf depending on the iteration number and the setting of rate_step, low_rate and high_rate params (man autobench for more on those params)
  • net_io = the average network throughput in kilobytes per second KB/s
    is the Net I/O from httperf from the Miscellaneous Section of its output and man page(not linked)
  • errors is the Total errors from the Errors Section of httperf 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}) );
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top