perf(gateway): scale request hot paths for 20k streams

Shard and singleflight hot-path caches, batch and prioritize candidate and usage lifecycle persistence, and extend database and pressure-test instrumentation for 20k concurrent streams.
This commit is contained in:
elky
2026-07-22 02:11:08 +08:00
parent 7756c0913f
commit fc92c4f431
124 changed files with 36325 additions and 3217 deletions
@@ -369,12 +369,18 @@ fn capacity_point(
metrics: GateMetricSnapshot,
) -> CapacityCurvePointResult {
let rejected_requests = result.status_counts.get(&503).copied().unwrap_or_default();
let successful_requests = result
let successful_statuses = result
.status_counts
.iter()
.filter(|(status, _)| **status >= 200 && **status < 300)
.map(|(_, count)| *count)
.sum::<usize>();
let responses_received = result.status_counts.values().sum::<usize>();
let failures_without_response = result.total_requests.saturating_sub(responses_received);
let failures_after_response = result
.failed_requests
.saturating_sub(failures_without_response);
let successful_requests = successful_statuses.saturating_sub(failures_after_response);
let throughput_rps = if duration_ms == 0 {
successful_requests as u64
} else {