network-quality / goresponsiveness

A draft-ietf-ippm-responsiveness client in Go.
GNU General Public License v2.0
132 stars 10 forks source link

Add CLI option for fixing the number of flows #19

Open hawkinsw opened 2 years ago

hawkinsw commented 2 years ago

In order to make the measurements from goresponsiveness comparable to flent, such an option would be helpful! @dtaht will comment more on this ticket with information about flent!

dtaht commented 2 years ago

flent lets me do very detailed analysis of multiple flow behaviors.

flent -H dallas.starlink.taht.net --te=upload_streams=4 --socket-stats --step-size=.05 tcp_nup # upload test of 4 streams for 60 seconds.

-l 20 would give me 20 seconds. Originally the rpm spec that I contributed to was more modeled on the flent rrul test which tests 4 up and 4 down and icmp/udp pings simultaneously. I still wish responsiveness tested all those at the same time, and seeing the goresponsiveness test presently opening up 24 flows on a 4Mbit connection does not strike me as a good idea, and in fact, it fails to complete 5 times out of 6.

Now, I would really like to have a rpm equivalent in the https://github.com/tohojo/flent/ suite, that could also, independently, calculate an equivalent number, while also providing a long term view. Here, for example, is what happens to my connection on verizon, when "throttled". At t+30, things get a bit weird, but I am in general, pleased that they are actually in this case, only buffering up a two BDP. (throttling would be thoroughly unacceptable if they weren't)

tcp_nup_-_usb-tether-cake-450kbit

tcp_nup-2022-04-23T122329.279932.flent.gz

I always encourage people to cross check their assumptions using @tohojo 's wonderful flent tool.