Edgio / hurl

http(s)+h2 server load tester
153 stars 34 forks source link

Remove unit from req/s and MB/s values #40

Closed agzuniverse closed 3 years ago

agzuniverse commented 3 years ago

Thought it was a bit weird to have req/s and MB/s values displayed with seconds as the unit, so this commit removes them.

... I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

tinselcity commented 3 years ago

These should be rates that are calculated "per second", so I think the indication in the output that it's req/s or MB/s is valid, and helpful for the end user.

Here's where for example the rate of requests per second is calculated: https://github.com/VerizonDigital/hurl/blob/master/src/hurl/hurl.cc#L3311.

So I think it should be fine to stand as is.

See sample:

>hurl https://verizondigitalmedia.com
Running 1 threads 100 parallel connections per thread with infinite requests per connection
+-----------/-----------+-----------+-----------+--------------+-----------+-------------+-----------+
| Completed / Requested |    IdlKil |    Errors | kBytes Recvd |   Elapsed |       Req/s |      MB/s |
+-----------/-----------+-----------+-----------+--------------+-----------+-------------+-----------+
|      1945 /      2045 |         0 |         0 |       164.35 |     1.00s |    3384.00s |     0.16s |
|      4638 /      4738 |         0 |         0 |       247.90 |     1.50s |    5386.00s |     0.24s |
|      7332 /      7432 |         0 |         0 |       243.84 |     2.00s |    5388.00s |     0.24s |
|      9127 /      9227 |         0 |         0 |       269.79 |     2.31s |    5809.06s |     0.26s |
^C
| RESULTS:             ALL
| fetches:             9127
| max parallel:        100
| bytes:               5.871420e+05
| seconds:             2.309000
| mean bytes/conn:     64.330229
| fetches/sec:         3952.793417
| bytes/sec:           2.542841e+05
| HTTP response codes: 
| 200 -- 9127

NOTE: it's requests per second in the output for that field value as opposed to the total number of requests sent in the 2nd column.

agzuniverse commented 3 years ago

Indeed, showing that these columns are req/s or MB/s is helpful. The change this PR makes is dropping the "s" at the end of the values shown in the req/s and MB/s column.

This might be just me interpreting this incorrectly, but for example 3806.00 req/s seems right, but 3806.00s req/s seems wrong?

Notice the values of last 2 columns don't have "s" at the end here:

> hurl https://verizondigitalmedia.com
Running 1 threads 100 parallel connections per thread with infinite requests per connection
+-----------/-----------+-----------+-----------+--------------+-----------+------------+----------+
| Completed / Requested |    IdlKil |    Errors | kBytes Recvd |   Elapsed |      Req/s |     MB/s |
+-----------/-----------+-----------+-----------+--------------+-----------+------------+----------+
|      2525 /      2625 |         0 |         0 |       175.52 |     1.00s |    3806.00 |     0.17 |
|      4376 /      4476 |         0 |         0 |       169.29 |     1.50s |    3702.00 |     0.17 |
|      6258 /      6358 |         0 |         0 |       173.63 |     2.00s |    3764.00 |     0.17 |
|      8157 /      8257 |         0 |         0 |       172.89 |     2.50s |    3790.42 |     0.17 |
^C|      8894 /      8994 |         0 |         0 |       171.54 |     2.69s |    3818.65 |     0.17 |
| RESULTS:             ALL
| fetches:             8894
| max parallel:        100
| bytes:               5.748060e+05
| seconds:             2.694000
| mean bytes/conn:     64.628514
| fetches/sec:         3301.410542
| bytes/sec:           2.133653e+05
| HTTP response codes: 
| 200 -- 8894