| State | Min | Median | p95 | Max | Jitter | Loss | Pings |
|---|---|---|---|---|---|---|---|
| Run a test to measure latency quality… | |||||||
Unloaded ping — round-trip time to the server while the line is idle. Your baseline latency; lower feels snappier.
Loaded ping ↓ / ↑ — latency measured while the download / upload is saturating the link. The gap versus unloaded ping is what you feel as lag during a big transfer.
Bufferbloat — the extra latency added under load (worst of ↓/↑). Oversized buffers queue packets and make a "fast" line feel sluggish during downloads. Graded A+ <5 ms · A <30 · B <60 · C <200 · D <400 · F ≥400 ms added.
Jitter — how much ping varies from one sample to the next (mean consecutive difference). Low jitter keeps calls and games smooth. Good <10 ms · Fair <30 · Poor ≥30 ms.
Packet loss — share of pings that errored or timed out (approx. over HTTP; a healthy line reads 0%). Even 1–2% badly hurts calls and gaming. Good <0.5% · Fair <2% · Poor ≥2%.
Latency p95 — 95% of all pings were faster than this. Captures worst-case lag that a simple average hides. Good <50 ms · Fair <150 · Poor ≥150 ms.
Line stability — how steady throughput stayed across the test (100% = perfectly flat). Low values mean a bursty or congested line. Good ≥90% · Fair ≥75% · Poor <75%.
Latency distribution — min / median / p95 / max, plus jitter and loss, split across idle, download-loaded and upload-loaded phases, with how many pings were sampled in each.
curl -s https://HOST/speedtest.sh | sh
*.local mDNS name.| Loading… |