Shadowrocket Blog · How it works

The ping looks great.
Why are pages still slow?

The millisecond number on the right of the node list is often treated as the only quality score. A low number feels like it should be fast, but pages and video often do not match. This article separates latency, bandwidth, and jitter — metrics that get mixed together — and explains what the test number actually measures.

What Shadowrocket's speed test actually measures

The milliseconds after you tap Test are latency: the client sends a tiny request to the node and times the round trip. That is "how long a handshake takes," not how fast large transfers go. Low latency only means a round trip is quick. It does not mean the node can carry many users downloading video or livestreams at once.

What latency, bandwidth, and jitter mean

MetricIn plain termsWhat it affects
LatencyRound-trip time from sending a message to getting a reply, in millisecondsHow soon a page starts to respond. Matters most for games and voice calls
BandwidthHow much data can move per unit of time — like how wide the pipe isTop speed for large downloads and HD video. The millisecond test does not measure this at all
JitterWhether latency stays steady, or jumps aroundHigh jitter causes video-call stutter and dropped frames, even if average latency looks fine
Packet lossWhat share of packets is lost in transit and must be resentHigh loss stalls page loads and causes video to rebuffer, even with a low latency number

The node-list test only covers the first metric (latency). Bandwidth, jitter, and packet loss are not in that number. That is the usual reason for "tens of milliseconds, but video still stutters": low latency does not mean enough bandwidth or a stable path.

Why the same node feels different day vs night

If a node is fine during the day and slow at peak hours, bandwidth is likely being split among more users. Server bandwidth is fixed; more concurrent users means less per person. That is independent of the latency number — ping can still look normal while throughput has already dropped. Switching to a less crowded or "low load" node usually helps more than testing again and again.

Also: Shadowrocket only measures latency from the client to the node. There is still a path from the node to the site you actually visit. That second hop affects the experience too, and it is not in the test number.

Better checks than staring at milliseconds

Is the test number still useful?

Yes, for what it can measure — whether a node answers quickly — especially to drop obviously bad nodes (huge latency or timeout) in the same list. Do not treat it as the only quality score. Opening a site you actually use is still more reliable.

Note: These metrics are general networking terms, not Shadowrocket-specific measurements or any provider's lab data. Numbers vary by network and node.

Haven't downloaded Shadowrocket yet? One-time App Store purchase, $2.99. After install you can try speed tests and node management right away
Download guide →

Further reading: Speed-test troubleshooting