Request waterfall flattened; critical path under 3 hops
Why it matters
A request waterfall where API B cannot start until API A completes means your page load time is the sum of all sequential fetch durations, not the maximum. A five-hop waterfall with 200ms fetches adds 1 full second of latency that cannot be improved by any infrastructure optimization — it is a code architecture problem. ISO 25010:2011 time-behaviour formalizes the concern; the user-facing result is a page that appears slow even on fast connections because the CPU is idle while waiting for chained network calls to resolve.
Severity rationale
Critical because sequential request chains make page load time additive rather than concurrent — each extra hop adds unavoidable latency that cannot be solved by faster servers or better caching.
Remediation
Replace sequential await chains with Promise.all for independent fetches. In Next.js Server Components, initiate fetches without await at the top of the component to enable parallel execution.
// app/dashboard/page.tsx — parallel fetches
export default async function DashboardPage() {
// Start all three fetches simultaneously
const [user, orders, stats] = await Promise.all([
fetchUser(),
fetchOrders(),
fetchStats(),
])
// ...
}
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Performance Deep Dive Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- iso-25010:2011 · time-behaviour — Time Behaviour (performance efficiency)
Taxons
History
- 2026-04-18·v1.0.0·Initial import from performance-deep-dive·automated