chore: initial sanitized public snapshot
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
# RPC Pressure Evidence
|
||||
|
||||
This file records the current synthetic RPC responsiveness guard for
|
||||
`aria2-rust-pro`.
|
||||
|
||||
## Scope
|
||||
|
||||
Current guard coverage is synthetic but no longer limited to a single
|
||||
`tellStatus` loop:
|
||||
|
||||
- in-process dispatcher
|
||||
- BT-like magnet workload
|
||||
- repeated `aria2.tellStatus`
|
||||
- sampled `aria2.getFiles`
|
||||
- repeated `aria2.tellActive`
|
||||
- repeated `aria2.tellGlobalStat`
|
||||
- Criterion `rpc_mixed_pressure` and `bt_visibility_pressure` anchors
|
||||
|
||||
This is not a public-swarm benchmark. It is a deterministic regression guard
|
||||
for scheduler/RPC responsiveness while the runtime is still approximation-heavy.
|
||||
|
||||
## Guard Tests
|
||||
|
||||
- `rpc_bt_pressure_guard_keeps_status_active_and_global_stat_responsive`
|
||||
- `rpc_bt_mixed_pressure_guard_covers_churned_status_files_and_global_views`
|
||||
|
||||
Basic guard shape:
|
||||
|
||||
- 64 BT-like magnet tasks
|
||||
- 4 pressure rounds
|
||||
- 256 total `tellStatus` calls
|
||||
- 4 `tellActive` calls
|
||||
- 4 `tellGlobalStat` calls
|
||||
- runtime tick updates injected during the loop to keep non-zero BT-like state
|
||||
|
||||
Mixed guard shape:
|
||||
|
||||
- 96 BT-like magnet tasks
|
||||
- 6 pressure rounds
|
||||
- 576 total `tellStatus` calls
|
||||
- 72 sampled `getFiles` calls
|
||||
- 6 `tellActive` calls
|
||||
- 6 `tellGlobalStat` calls
|
||||
- per-download runtime tick churn before every status probe
|
||||
|
||||
## Current Thresholds
|
||||
|
||||
These thresholds are deliberately broad. They are there to catch obvious
|
||||
regressions, not to certify final performance:
|
||||
|
||||
- cumulative `tellStatus` time across the run: `<= 2000ms`
|
||||
- cumulative `tellActive` time across the run: `<= 500ms`
|
||||
- cumulative `tellGlobalStat` time across the run: `<= 500ms`
|
||||
- cumulative mixed guard time across the run: `<= 4000ms`
|
||||
|
||||
## Current Criterion Anchors
|
||||
|
||||
Current focused Criterion runs on this host:
|
||||
|
||||
| Benchmark | Mean | 95% CI |
|
||||
| --- | ---: | ---: |
|
||||
| `rpc_mixed_pressure/mixed_rpc/96` | `92.383 us` | `90.867 .. 93.895 us` |
|
||||
| `rpc_mixed_pressure/mixed_rpc/192` | `175.169 us` | `160.464 .. 192.884 us` |
|
||||
| `bt_visibility_pressure/bt_visibility/32` | `2.3293 ms` | `1.0756 .. 4.0986 ms` |
|
||||
| `bt_visibility_pressure/bt_visibility/64` | `2.1302 ms` | `2.0707 .. 2.2057 ms` |
|
||||
|
||||
Interpretation:
|
||||
|
||||
- the deterministic integration tests now cover mixed BT/RPC status, file, and
|
||||
global-stat surfaces under runtime churn
|
||||
- the Criterion anchors give a current non-HTTP performance regression guard
|
||||
- the thresholds remain intentionally broad so host-local noise does not turn a
|
||||
synthetic guard into a flaky gate
|
||||
|
||||
## Next Steps
|
||||
|
||||
Further work should extend this guard with:
|
||||
|
||||
- explicit scheduler tick pressure
|
||||
- resource counters suitable for later perf reporting
|
||||
- a documented comparison against the C++ reference once comparable benchmark
|
||||
suites exist
|
||||
Reference in New Issue
Block a user