fix(transport/quic-datagram): remove inbound queue limit#3171
fix(transport/quic-datagram): remove inbound queue limit#3171mxinden wants to merge 2 commits intomozilla:mainfrom
Conversation
work-in-progress Fixes mozilla#1373.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3171 +/- ##
==========================================
- Coverage 93.50% 93.42% -0.08%
==========================================
Files 125 125
Lines 36637 36569 -68
Branches 36637 36569 -68
==========================================
- Hits 34256 34165 -91
- Misses 1529 1554 +25
+ Partials 852 850 -2
|
CodSpeed Performance ReportMerging #3171 will degrade performances by 4.82%Comparing Summary
Benchmarks breakdown
|
Contains mozilla/neqo#3176 and mozilla/neqo#3171.
Contains: - mozilla/neqo#3176 - mozilla/neqo#3171 - mozilla/neqo#3207
Contains: - mozilla/neqo#3176 - mozilla/neqo#3171 - mozilla/neqo#3207 - mozilla/neqo#3234
Contains: - mozilla/neqo#3176 - mozilla/neqo#3171 - mozilla/neqo#3207 - mozilla/neqo#3234
Contains: - mozilla/neqo#3176 - mozilla/neqo#3171 - mozilla/neqo#3207 - mozilla/neqo#3234
Contains: - mozilla/neqo#3176 - mozilla/neqo#3171 - mozilla/neqo#3207 - mozilla/neqo#3234
Contains: - mozilla/neqo#3176 - mozilla/neqo#3171 - mozilla/neqo#3207 - mozilla/neqo#3234
Failed Interop TestsQUIC Interop Runner, client vs. server, differences relative to
All resultsSucceeded Interop TestsQUIC Interop Runner, client vs. server neqo-pr as client
neqo-pr as server
Unsupported Interop TestsQUIC Interop Runner, client vs. server neqo-pr as client
neqo-pr as server
|
Client/server transfer resultsPerformance differences relative to ab7ae57. Transfer of 33554432 bytes over loopback, min. 100 runs. All unit-less numbers are in milliseconds.
Table above only shows statistically significant changes. See all results below. All resultsTransfer of 33554432 bytes over loopback, min. 100 runs. All unit-less numbers are in milliseconds.
Download data for |
Benchmark resultsSignificant performance differences relative to ab7ae57. 1-conn/1-100mb-req/mtu-1504 (aka. Upload)/client: 💔 Performance has regressed by +1.3372%. time: [212.53 ms 212.96 ms 213.45 ms]
thrpt: [468.48 MiB/s 469.58 MiB/s 470.53 MiB/s]
change:
time: [+1.0504% +1.3372% +1.6423] (p = 0.00 < 0.05)
thrpt: [-1.6158% -1.3195% -1.0395]
Performance has regressed.
Found 3 outliers among 100 measurements (3.00%)
1 (1.00%) high mild
2 (2.00%) high severe1000-streams/each-1-bytes/wallclock-time: 💚 Performance has improved by -1.6141%. time: [12.196 ms 12.242 ms 12.295 ms]
change: [-2.1259% -1.6141% -1.0853] (p = 0.00 < 0.05)
Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severetransfer/pacing-false/varying-seeds/wallclock-time/run: 💚 Performance has improved by -3.1984%. time: [22.952 ms 22.977 ms 23.006 ms]
change: [-3.3335% -3.1984% -3.0583] (p = 0.00 < 0.05)
Performance has improved.
Found 2 outliers among 100 measurements (2.00%)
1 (1.00%) high mild
1 (1.00%) high severeAll results1-conn/1-100mb-resp/mtu-1504 (aka. Download)/client: Change within noise threshold. time: [203.31 ms 203.77 ms 204.28 ms]
thrpt: [489.52 MiB/s 490.76 MiB/s 491.86 MiB/s]
change:
time: [+0.0345% +0.4390% +0.8298] (p = 0.03 < 0.05)
thrpt: [-0.8229% -0.4371% -0.0345]
Change within noise threshold.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe1-conn/10_000-parallel-1b-resp/mtu-1504 (aka. RPS)/client: Change within noise threshold. time: [283.73 ms 285.59 ms 287.48 ms]
thrpt: [34.784 Kelem/s 35.015 Kelem/s 35.245 Kelem/s]
change:
time: [+0.4864% +1.3732% +2.2942] (p = 0.00 < 0.05)
thrpt: [-2.2428% -1.3546% -0.4841]
Change within noise threshold.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild1-conn/1-1b-resp/mtu-1504 (aka. HPS)/client: Change within noise threshold. time: [38.619 ms 38.764 ms 38.927 ms]
thrpt: [25.689 B/s 25.797 B/s 25.894 B/s]
change:
time: [+0.0351% +0.5389% +1.0404] (p = 0.04 < 0.05)
thrpt: [-1.0297% -0.5360% -0.0351]
Change within noise threshold.
Found 10 outliers among 100 measurements (10.00%)
1 (1.00%) low mild
4 (4.00%) high mild
5 (5.00%) high severe1-conn/1-100mb-req/mtu-1504 (aka. Upload)/client: 💔 Performance has regressed by +1.3372%. time: [212.53 ms 212.96 ms 213.45 ms]
thrpt: [468.48 MiB/s 469.58 MiB/s 470.53 MiB/s]
change:
time: [+1.0504% +1.3372% +1.6423] (p = 0.00 < 0.05)
thrpt: [-1.6158% -1.3195% -1.0395]
Performance has regressed.
Found 3 outliers among 100 measurements (3.00%)
1 (1.00%) high mild
2 (2.00%) high severedecode 4096 bytes, mask ff: No change in performance detected. time: [7.2251 µs 7.2368 µs 7.2490 µs]
change: [-0.2462% -0.0128% +0.2211] (p = 0.92 > 0.05)
No change in performance detected.
Found 8 outliers among 100 measurements (8.00%)
6 (6.00%) high mild
2 (2.00%) high severedecode 1048576 bytes, mask ff: No change in performance detected. time: [1.8419 ms 1.8501 ms 1.8641 ms]
change: [-0.1492% +0.3455% +1.1861] (p = 0.41 > 0.05)
No change in performance detected.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severedecode 4096 bytes, mask 7f: No change in performance detected. time: [10.158 µs 10.172 µs 10.186 µs]
change: [-0.7303% -0.1121% +0.3540] (p = 0.73 > 0.05)
No change in performance detected.
Found 3 outliers among 100 measurements (3.00%)
2 (2.00%) high mild
1 (1.00%) high severedecode 1048576 bytes, mask 7f: No change in performance detected. time: [2.5962 ms 2.5997 ms 2.6032 ms]
change: [-0.5268% -0.1883% +0.0887] (p = 0.25 > 0.05)
No change in performance detected.decode 4096 bytes, mask 3f: No change in performance detected. time: [12.459 µs 12.480 µs 12.502 µs]
change: [-1.1796% -0.5284% +0.1379] (p = 0.12 > 0.05)
No change in performance detected.
Found 5 outliers among 100 measurements (5.00%)
2 (2.00%) high mild
3 (3.00%) high severedecode 1048576 bytes, mask 3f: No change in performance detected. time: [3.1953 ms 3.2004 ms 3.2057 ms]
change: [-0.0814% +0.1294% +0.3590] (p = 0.27 > 0.05)
No change in performance detected.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild1-streams/each-1000-bytes/wallclock-time: No change in performance detected. time: [581.95 µs 584.66 µs 587.81 µs]
change: [-1.0546% -0.4673% +0.1810] (p = 0.14 > 0.05)
No change in performance detected.
Found 10 outliers among 100 measurements (10.00%)
10 (10.00%) high severe1-streams/each-1000-bytes/simulated-time: No change in performance detected. time: [118.95 ms 119.20 ms 119.45 ms]
thrpt: [8.1754 KiB/s 8.1926 KiB/s 8.2096 KiB/s]
change:
time: [-0.0791% +0.2174% +0.4635] (p = 0.12 > 0.05)
thrpt: [-0.4613% -0.2169% +0.0792]
No change in performance detected.1000-streams/each-1-bytes/wallclock-time: 💚 Performance has improved by -1.6141%. time: [12.196 ms 12.242 ms 12.295 ms]
change: [-2.1259% -1.6141% -1.0853] (p = 0.00 < 0.05)
Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe1000-streams/each-1-bytes/simulated-time: No change in performance detected. time: [2.3283 s 2.3323 s 2.3363 s]
thrpt: [428.03 B/s 428.77 B/s 429.50 B/s]
change:
time: [-0.2209% +0.0108% +0.2367] (p = 0.93 > 0.05)
thrpt: [-0.2362% -0.0108% +0.2214]
No change in performance detected.1000-streams/each-1000-bytes/wallclock-time: No change in performance detected. time: [50.121 ms 50.235 ms 50.348 ms]
change: [-0.6825% -0.2186% +0.1864] (p = 0.35 > 0.05)
No change in performance detected.1000-streams/each-1000-bytes/simulated-time: No change in performance detected. time: [16.185 s 16.416 s 16.649 s]
thrpt: [58.656 KiB/s 59.488 KiB/s 60.338 KiB/s]
change:
time: [-1.5841% +0.6530% +2.8357] (p = 0.56 > 0.05)
thrpt: [-2.7575% -0.6488% +1.6096]
No change in performance detected.
Found 2 outliers among 100 measurements (2.00%)
1 (1.00%) low mild
1 (1.00%) high mildcoalesce_acked_from_zero 1+1 entries: No change in performance detected. time: [89.692 ns 89.976 ns 90.256 ns]
change: [-0.6343% -0.1417% +0.3858] (p = 0.60 > 0.05)
No change in performance detected.
Found 10 outliers among 100 measurements (10.00%)
7 (7.00%) high mild
3 (3.00%) high severecoalesce_acked_from_zero 3+1 entries: No change in performance detected. time: [106.81 ns 107.16 ns 107.54 ns]
change: [-0.6158% -0.1928% +0.2883] (p = 0.40 > 0.05)
No change in performance detected.
Found 13 outliers among 100 measurements (13.00%)
1 (1.00%) low mild
1 (1.00%) high mild
11 (11.00%) high severecoalesce_acked_from_zero 10+1 entries: No change in performance detected. time: [106.15 ns 106.43 ns 106.81 ns]
change: [-2.1449% -0.9234% -0.0662] (p = 0.07 > 0.05)
No change in performance detected.
Found 15 outliers among 100 measurements (15.00%)
5 (5.00%) low severe
2 (2.00%) low mild
3 (3.00%) high mild
5 (5.00%) high severecoalesce_acked_from_zero 1000+1 entries: No change in performance detected. time: [92.562 ns 92.713 ns 92.875 ns]
change: [-7.0759% -2.4412% +0.3208] (p = 0.35 > 0.05)
No change in performance detected.
Found 9 outliers among 100 measurements (9.00%)
4 (4.00%) high mild
5 (5.00%) high severeRxStreamOrderer::inbound_frame(): Change within noise threshold. time: [108.18 ms 108.38 ms 108.70 ms]
change: [-1.0775% -0.8795% -0.5788] (p = 0.00 < 0.05)
Change within noise threshold.
Found 12 outliers among 100 measurements (12.00%)
8 (8.00%) low mild
2 (2.00%) high mild
2 (2.00%) high severesent::Packets::take_ranges: No change in performance detected. time: [4.4499 µs 4.5330 µs 4.6030 µs]
change: [-2.5851% +1.6090% +6.7042] (p = 0.55 > 0.05)
No change in performance detected.
Found 3 outliers among 100 measurements (3.00%)
2 (2.00%) high mild
1 (1.00%) high severetransfer/pacing-false/varying-seeds/wallclock-time/run: 💚 Performance has improved by -3.1984%. time: [22.952 ms 22.977 ms 23.006 ms]
change: [-3.3335% -3.1984% -3.0583] (p = 0.00 < 0.05)
Performance has improved.
Found 2 outliers among 100 measurements (2.00%)
1 (1.00%) high mild
1 (1.00%) high severetransfer/pacing-false/varying-seeds/simulated-time/run: No change in performance detected. time: [23.941 s 23.941 s 23.941 s]
thrpt: [171.09 KiB/s 171.09 KiB/s 171.09 KiB/s]
change:
time: [+0.0000% +0.0000% +0.0000] (p = NaN > 0.05)
thrpt: [+0.0000% +0.0000% +0.0000]
No change in performance detected.transfer/pacing-true/varying-seeds/wallclock-time/run: Change within noise threshold. time: [23.694 ms 23.721 ms 23.758 ms]
change: [-2.1044% -1.8414% -1.6137] (p = 0.00 < 0.05)
Change within noise threshold.
Found 3 outliers among 100 measurements (3.00%)
2 (2.00%) high mild
1 (1.00%) high severetransfer/pacing-true/varying-seeds/simulated-time/run: No change in performance detected. time: [23.676 s 23.676 s 23.676 s]
thrpt: [173.01 KiB/s 173.01 KiB/s 173.01 KiB/s]
change:
time: [+0.0000% +0.0000% +0.0000] (p = NaN > 0.05)
thrpt: [+0.0000% +0.0000% +0.0000]
No change in performance detected.transfer/pacing-false/same-seed/wallclock-time/run: Change within noise threshold. time: [23.370 ms 23.389 ms 23.408 ms]
change: [-2.3429% -2.1256% -1.9583] (p = 0.00 < 0.05)
Change within noise threshold.transfer/pacing-false/same-seed/simulated-time/run: No change in performance detected. time: [23.941 s 23.941 s 23.941 s]
thrpt: [171.09 KiB/s 171.09 KiB/s 171.09 KiB/s]
change:
time: [+0.0000% +0.0000% +0.0000] (p = NaN > 0.05)
thrpt: [+0.0000% +0.0000% +0.0000]
No change in performance detected.transfer/pacing-true/same-seed/wallclock-time/run: Change within noise threshold. time: [23.876 ms 23.893 ms 23.910 ms]
change: [-1.4229% -1.2825% -1.1555] (p = 0.00 < 0.05)
Change within noise threshold.
Found 3 outliers among 100 measurements (3.00%)
3 (3.00%) high mildtransfer/pacing-true/same-seed/simulated-time/run: No change in performance detected. time: [23.676 s 23.676 s 23.676 s]
thrpt: [173.01 KiB/s 173.01 KiB/s 173.01 KiB/s]
change:
time: [+0.0000% +0.0000% +0.0000] (p = NaN > 0.05)
thrpt: [+0.0000% +0.0000% +0.0000]
No change in performance detected.Download data for |
|
| Branch | inbound-quic-datagram-limit |
| Testbed | On-prem |
🚨 2 Alerts
| Benchmark | Measure Units | View | Benchmark Result (Result Δ%) | Upper Boundary (Limit %) |
|---|---|---|---|---|
| decode 1048576 bytes, mask 3f | Latency milliseconds (ms) | 📈 plot 🚷 threshold 🚨 alert (🔔) | 3.20 ms(+81.04%)Baseline: 1.77 ms | 2.57 ms (124.60%) |
| decode 4096 bytes, mask 3f | Latency microseconds (µs) | 📈 plot 🚷 threshold 🚨 alert (🔔) | 12.48 µs(+70.47%)Baseline: 7.32 µs | 11.17 µs (111.76%) |
Click to view all benchmark results
| Benchmark | Latency | Benchmark Result nanoseconds (ns) (Result Δ%) | Upper Boundary nanoseconds (ns) (Limit %) |
|---|---|---|---|
| 1-conn/1-100mb-req/mtu-1504 (aka. Upload)/client | 📈 view plot 🚷 view threshold | 212,960,000.00 ns(+2.50%)Baseline: 207,773,021.98 ns | 216,920,610.34 ns (98.17%) |
| 1-conn/1-100mb-resp/mtu-1504 (aka. Download)/client | 📈 view plot 🚷 view threshold | 203,770,000.00 ns(+0.87%)Baseline: 202,006,300.37 ns | 211,672,638.21 ns (96.27%) |
| 1-conn/1-1b-resp/mtu-1504 (aka. HPS)/client | 📈 view plot 🚷 view threshold | 38,764,000.00 ns(+13.21%)Baseline: 34,240,582.42 ns | 46,159,734.53 ns (83.98%) |
| 1-conn/10_000-parallel-1b-resp/mtu-1504 (aka. RPS)/client | 📈 view plot 🚷 view threshold | 285,590,000.00 ns(-1.13%)Baseline: 288,840,384.62 ns | 302,066,672.75 ns (94.55%) |
| 1-streams/each-1000-bytes/simulated-time | 📈 view plot 🚷 view threshold | 119,200,000.00 ns(+0.32%)Baseline: 118,821,153.85 ns | 120,506,854.42 ns (98.92%) |
| 1-streams/each-1000-bytes/wallclock-time | 📈 view plot 🚷 view threshold | 584,660.00 ns(-0.87%)Baseline: 589,783.33 ns | 610,375.27 ns (95.79%) |
| 1000-streams/each-1-bytes/simulated-time | 📈 view plot 🚷 view threshold | 2,332,300,000.00 ns(-75.14%)Baseline: 9,383,336,263.74 ns | 24,060,513,708.12 ns (9.69%) |
| 1000-streams/each-1-bytes/wallclock-time | 📈 view plot 🚷 view threshold | 12,242,000.00 ns(-8.25%)Baseline: 13,342,338.83 ns | 15,170,062.47 ns (80.70%) |
| 1000-streams/each-1000-bytes/simulated-time | 📈 view plot 🚷 view threshold | 16,416,000,000.00 ns(-7.83%)Baseline: 17,810,311,355.31 ns | 20,841,225,915.96 ns (78.77%) |
| 1000-streams/each-1000-bytes/wallclock-time | 📈 view plot 🚷 view threshold | 50,235,000.00 ns(-0.54%)Baseline: 50,509,269.23 ns | 55,680,153.38 ns (90.22%) |
| RxStreamOrderer::inbound_frame() | 📈 view plot 🚷 view threshold | 108,380,000.00 ns(-1.23%)Baseline: 109,733,827.84 ns | 111,383,712.61 ns (97.30%) |
| coalesce_acked_from_zero 1+1 entries | 📈 view plot 🚷 view threshold | 89.98 ns(+0.96%)Baseline: 89.12 ns | 90.42 ns (99.51%) |
| coalesce_acked_from_zero 10+1 entries | 📈 view plot 🚷 view threshold | 106.43 ns(+0.37%)Baseline: 106.04 ns | 107.11 ns (99.37%) |
| coalesce_acked_from_zero 1000+1 entries | 📈 view plot 🚷 view threshold | 92.71 ns(+1.96%)Baseline: 90.93 ns | 95.30 ns (97.28%) |
| coalesce_acked_from_zero 3+1 entries | 📈 view plot 🚷 view threshold | 107.16 ns(+0.59%)Baseline: 106.53 ns | 107.53 ns (99.66%) |
| decode 1048576 bytes, mask 3f | 📈 view plot 🚷 view threshold 🚨 view alert (🔔) | 3,200,400.00 ns(+81.04%)Baseline: 1,767,788.64 ns | 2,568,516.93 ns (124.60%) |
| decode 1048576 bytes, mask 7f | 📈 view plot 🚷 view threshold | 2,599,700.00 ns(-46.74%)Baseline: 4,880,893.04 ns | 6,409,099.69 ns (40.56%) |
| decode 1048576 bytes, mask ff | 📈 view plot 🚷 view threshold | 1,850,100.00 ns(-36.98%)Baseline: 2,935,773.08 ns | 3,664,949.49 ns (50.48%) |
| decode 4096 bytes, mask 3f | 📈 view plot 🚷 view threshold 🚨 view alert (🔔) | 12,480.00 ns(+70.47%)Baseline: 7,320.73 ns | 11,167.11 ns (111.76%) |
| decode 4096 bytes, mask 7f | 📈 view plot 🚷 view threshold | 10,172.00 ns(-46.61%)Baseline: 19,053.05 ns | 25,022.93 ns (40.65%) |
| decode 4096 bytes, mask ff | 📈 view plot 🚷 view threshold | 7,236.80 ns(-34.58%)Baseline: 11,061.45 ns | 13,800.04 ns (52.44%) |
| sent::Packets::take_ranges | 📈 view plot 🚷 view threshold | 4,533.00 ns(-3.20%)Baseline: 4,682.73 ns | 4,923.68 ns (92.07%) |
| transfer/pacing-false/same-seed/simulated-time/run | 📈 view plot 🚷 view threshold | 23,941,000,000.00 ns(-5.20%)Baseline: 25,254,777,573.53 ns | 26,245,080,433.05 ns (91.22%) |
| transfer/pacing-false/same-seed/wallclock-time/run | 📈 view plot 🚷 view threshold | 23,389,000.00 ns(-7.53%)Baseline: 25,294,108.46 ns | 27,100,543.84 ns (86.30%) |
| transfer/pacing-false/varying-seeds/simulated-time/run | 📈 view plot 🚷 view threshold | 23,941,000,000.00 ns(-4.60%)Baseline: 25,094,375,000.00 ns | 25,833,547,044.15 ns (92.67%) |
| transfer/pacing-false/varying-seeds/wallclock-time/run | 📈 view plot 🚷 view threshold | 22,977,000.00 ns(-9.66%)Baseline: 25,433,001.84 ns | 27,350,082.24 ns (84.01%) |
| transfer/pacing-true/same-seed/simulated-time/run | 📈 view plot 🚷 view threshold | 23,676,000,000.00 ns(-6.43%)Baseline: 25,302,330,882.35 ns | 26,484,963,507.63 ns (89.39%) |
| transfer/pacing-true/same-seed/wallclock-time/run | 📈 view plot 🚷 view threshold | 23,893,000.00 ns(-9.65%)Baseline: 26,444,016.54 ns | 28,876,616.50 ns (82.74%) |
| transfer/pacing-true/varying-seeds/simulated-time/run | 📈 view plot 🚷 view threshold | 23,676,000,000.00 ns(-4.92%)Baseline: 24,901,911,764.71 ns | 25,688,193,989.38 ns (92.17%) |
| transfer/pacing-true/varying-seeds/wallclock-time/run | 📈 view plot 🚷 view threshold | 23,721,000.00 ns(-8.52%)Baseline: 25,931,044.12 ns | 27,939,869.57 ns (84.90%) |
work-in-progress
Fixes #1373.