What this test measures
The shared browser and Node method is iqm-http-v1. It tests achieved HTTP payload throughput and HTTP response times against Cloudflare's global speed-test service.
Test schedule
Quick uses two seconds without generated load, then up to five seconds of download and five seconds of upload. It plans at most 32 MiB down and 8 MiB up. Standard uses three seconds without generated load and up to eight seconds per transfer direction, with 128 MiB down and 32 MiB up. Extended, immutable profile extended-v1, has the same three/eight/eight-second schedule with 1 GiB per direction, up to 2 GiB payload total. Probe and protocol overhead is additional. Quick remains the default. Two streams share each direction's byte budget. The overall deadline is 30 seconds. Probes are scheduled every 250 ms, with three-second request timeouts.
The supplied clients enforce those data budgets. The external Cloudflare endpoints do not enforce our client budget. Very fast links may exhaust the byte allowance before a phase has enough sustained load. The result flags a byte cap or short phase. A subsecond capped transfer cannot establish sustained responsiveness or a lower bound on connection capacity. Reaching the planned duration does not prove saturation.
Network responsiveness for agent workflows
The result puts download-loaded and upload-loaded HTTP p95 side by side, with baseline p95 and successful and failed probe counts. P95 is the value at or below which 95 percent of successful sampled requests fell. Failures remain separate. Individual reports use the shared interpreter. Public aggregates are separate descriptive evidence and never receive individual-result severity colors. Complete coverage requires a known profile, consistent counts, usable p95, four baseline and eight loaded successes, no reported failures/caps/short phases, and valid evidence in both directions. Each direction needs positive credited payload, at least 80 percent of the planned duration, and time-limit termination. Zero payload and sparse observations limit coverage. Missing profile, quality, counts or directional evidence makes coverage unknown unless another observed limit already makes it limited. Historical missing facts stay absent, with original numeric metrics available.
Network delays can contribute to agent workflow time, especially while other transfers compete with requests. This test measures the Cloudflare HTTP path. It does not measure model-provider time to first token, token generation, local CPU, tool execution, or overall task completion time. It does not establish that the network caused a difference between agent runs. Throughput is secondary context, not a productivity score. The latency guide explains the result and its reference points.
How the plain-language report is derived
The shared interpreter is iqm-interpretation-v3. Browser and CLI use its headline, description, descriptive jitter and ordered actions. The legacy primary action is the first item. Failure, strongest directional delay, coverage and execution-host suggestions remain visible together. If all timings are unavailable, collecting usable timing evidence comes first. Suggestions do not start another test or change its allowance. It preserves raw metrics and returns observed findings separately from test evidence limits. Failures take headline priority. A directional p95 increase of at least 100 ms or an absolute phase p95 of at least 250 ms prompts investigation. A high baseline is reported before assigning a loaded comparison. These are editorial cues, not validated coding-performance or call-quality boundaries.
Fewer than four baseline successes or eight in a loaded phase makes the observation sparse. These are completeness checks, not confidence intervals. The fewer-than-20 p95 maximum caveat remains independent. Caps, early phases, failures or missing evidence prevent a reassuring conclusion. An observed long timing remains evidence even if the run is short. A low capped reading cannot establish sustained responsiveness. Public historical summaries are reinterpreted using the displayed interpretation version; stored raw summaries are unchanged.
HTTP timing definitions
Each phase records full elapsed HTTP probe requests. A loaded probe starts during transfers and may finish after generated load stops, before the next phase begins. The median is the nearest-rank 50th percentile. The p95 is the nearest-rank 95th percentile. With fewer than 20 successful samples, it equals the maximum. Always read sample and failure counts beside it. Low and high are successful sample extremes. Jitter is the mean absolute difference between adjacent successful probe samples. Failures and sequence gaps break adjacency. Valid zero remains zero; unavailable does not mean zero. The overview describes each phase without assigning jitter severity or changing the observation. More variation means less consistent sampled HTTP waits. Jitter does not measure model processing or task duration.
The baseline generates no test traffic beyond probes. Other users or applications can still load the connection. Loaded probes start while test transfers run. HTTP timing includes endpoint, browser scheduling, connection setup and reuse, and network effects. It is not an ICMP ping. HTTP errors and timeouts are reported as failed probes, not IP packet loss. Probe and upload reply bodies are streamed with a 64 KiB allowance. An oversized reply stops the measurement with an error instead of publishing a connectivity finding. This allowance does not cap runtime buffers or bytes already in flight.
Transfer accounting
Download counts payload bytes consumed by the client. Upload counts client-posted payload bytes in requests completed with HTTP 200. Cloudflare's upload response does not return an independently counted byte receipt. Mbps divides those bytes by the actual transfer phase duration, including HTTP request overhead. Failed uploads are not counted as credited bytes, although they may have sent payload. These figures are not total payload attempted or total data used. Public load_evidence retains only bytes, elapsed_ms and termination for download and upload. Planned ceilings are separate from recorded evidence. Elapsed duration alone proves neither saturation nor full probe overlap with generated traffic.
Results can be limited by the device, connection, browser, endpoint, or byte budget. This method is different from Ookla and from the private home's ICMP collector. Keep runtime and profile labels when comparing readings. Public observations use daily snapshots over 28 complete UTC publication-session days. Exact runtime, execution, profile, host placement, attribution and location-source filters remain separate. Historical placement is unknown and network attribution describes publication sessions. Each metric is the median of eligible per-test values, with independent eligibility and exclusion counts. Five eligible tests are required per metric; this editorial floor is neither statistical confidence nor anonymity. Tests are not independent people. Sourced link and Internet-service observations remain separate groups. Country summaries have no cell center. No personal ranking, provider verdict or coding-productivity score is available. The legacy latest-reading API remains available to existing clients.
External dependency
The client uses Cloudflare's documented speed-test endpoints. Availability and CORS behavior depend on that service. Our client does not import its optional result-logging flow or TURN packet-loss test.