Just a quick shoutout to Will Hawkins goresponsiveness effort 
(h++ps://github.com/network-quality/goresponsiveness: open source go 
implementation along the lines of the RPM IETF responsiveness draft 
(h++ps://github.com/network-quality/draft-ietf-ippm-responsiveness).

The goal I think is a quick latency under working conditions/latency under load 
for the rest of us. I think the draft likely will get a last call soon, so 
whoever wants to add something to the spec or just wants to comment, now would 
be a good time:

goresponsiveness is currently acquiring a few nice features, like the ability 
to compare the latency between idle and working conditions, run both saturating 
loads concurrently, and to report the sub results for the "self" probes 
(measuring latency within the load generating connection/flow) and the 
"foreign" probes (measuring latency outside of the load generating flows)

bash-3.2$ ./networkQuality --relative-rpm --rpm.parallel --config 
mensura.cdn-apple.com --port 443 --path /api/v1/gm/config --rpm.timeout 120 
--extended-stats --rpm.mnp 32 --logger-filename 
go_networkQuality_20231228_223707 --detailed
01-08-2024 19:37:07 UTC Go Responsiveness to mensura.cdn-apple.com:443...
Baseline RPM:  2813 (P90)
Baseline RPM:  3888 (Single-Sided 5% Trimmed Mean)
Results:
========
Download:
        Throughput: 80.367 Mbps (10.046 MBps), using 13 parallel connections.
        Extended Statistics:
                Maximum Segment Size: 1208
                Total Bytes Retransmitted: 2860
                Retransmission Ratio: 0.25%
                Total Bytes Reordered: 140968234
                Average RTT: 34.30769230769231
        RPM: 264 (P90)
        RPM: 509 (Single-Sided 5% Trimmed Mean)
========
Upload:
        Throughput: 30.124 Mbps (3.766 MBps), using 9 parallel connections.
        Extended Statistics:
                Maximum Segment Size: 1208
                Total Bytes Retransmitted: 466855
                Retransmission Ratio: 0.95%
                Total Bytes Reordered: 700
                Average RTT: 37
        RPM: 676 (P90)
        RPM: 2536 (Single-Sided 5% Trimmed Mean)
========
Final RPM Calculation stats:
        Total Self Probes:            933
        Total Foreign Probes:         2799
        Trimmed Self Probes Count:    46
        Trimmed Foreign Probes Count: 139
        P90 Self RTT:                 0.379444841
        P90 Foreign RTT:              0.031294024999999996
        Trimmed Mean Self RTT:        0.035124
        Trimmed Mean Foreign RTT:     0.017979

Final RPM: 292 (P90)
Final RPM: 2260 (Single-Sided 5% Trimmed Mean)
Final RPM (Self Only): 158 (P90)
Final RPM (Self Only): 1708 (Single-Sided 5% Trimmed Mean)
Final RPM (Foreign Only): 1917 (P90)
Final RPM (Foreign Only): 3337 (Single-Sided 5% Trimmed Mean)
Working Conditions RPM Effect:   162% (P90)
Working Conditions RPM Effect:    53% (Single-Sided 5% Trimmed Mean)


The beauty of the self and foreign reports is that here we can see that my 
cake'd upstream does a decent job to preserve foreign responsiveness while in 
the self responsiveness we see how TCP self-congests like there is no 
tomorrow... Please ignore the download direction, this is over a 100 Mbps USB 
ethernet dongle and my true download shaper is set to 105 Mbps, so this is 
mostly the bad USB dongle in action...



_______________________________________________
Bloat mailing list
[email protected]
https://lists.bufferbloat.net/listinfo/bloat

Reply via email to