Performance · 3 min read

Proxy speed: how we measure latency and why ping lies

Proxy speed is not one number. Latency, throughput and time-to-first-byte measure different things, and a raw ICMP ping misleads you about all of them. Here is what actually matters and how to measure it.

Speed is three different numbers

Latency, throughput and TTFB are not interchangeable.

When someone asks "how fast is this proxy?" they usually mean one thing but need three. Conflating them is why a proxy that "pings fast" still feels slow in real use.

  • Latency is the round-trip delay for a small request — how long before anything comes back. It dominates the feel of interactive work and many small requests, like API calls or page navigation.
  • Throughput is how much data per second the proxy can move once a transfer is going. It dominates large downloads and heavy scraping, and a low-latency proxy can still have poor throughput.
  • Time-to-first-byte (TTFB) is the whole chain: DNS, the connection handshake, the proxy relaying your request, the destination thinking, and the first byte arriving. It is the closest single number to "how the request actually felt."

For most proxy work the number that matters is latency and TTFB, because you are making many requests, not one giant download. That is the column we surface on the free proxy list, and it is what the scripts below measure.

The metrics that matter

And which task each one predicts.

Latency (round trip)

The delay before a response starts. Best predictor for API calls, navigation and many small requests. Low latency is what makes a proxy feel responsive rather than sluggish.

Throughput (bandwidth)

Data moved per second during a transfer. Best predictor for large downloads and bulk scraping. A proxy can have low latency but limited throughput, so measure the one your task depends on.

Time-to-first-byte

The full request chain including handshake and server think-time. The single number closest to real-world feel, and what a curl timing breakdown reports for you.

Consistency

One fast sample means little. A proxy that averages well but spikes badly will stall your jobs. Measure several times and look at the spread, not just the best case.

Why a raw ping lies

ICMP is not what your requests do.

The instinct is to ping a proxy and trust the millisecond figure. It is misleading for several concrete reasons. A ping uses ICMP, a different protocol from the TCP and TLS your actual traffic uses — networks routinely prioritise, deprioritise or entirely block ICMP, so the ping number reflects neither. Ping also measures the hop to the proxy, not the full path through it to your real destination, which is what you care about. And it completely ignores the costs that dominate real requests: the TCP handshake, TLS negotiation, DNS resolution and the time the destination itself takes to respond.

The honest way to measure a proxy is to measure a real request through it, timing the connect and first-byte stages the way curl reports them. That captures the handshake, the relay and the destination — everything ping throws away. It is exactly how the latency figures on our list are produced, which is the point of publishing a transparent methodology rather than a marketing number.

Measure real proxy latency

Save as proxy-latency.sh. curl reports connect time and time-to-first-byte — what a request actually feels — not a misleading ICMP ping. Usage: bash proxy-latency.sh HOST:PORT

bash
#!/usr/bin/env bash
# proxy-latency.sh — measure REAL latency through a proxy, not ICMP ping.
# curl exposes connect + time-to-first-byte, which is what a request feels.
# Usage: bash proxy-latency.sh HOST:PORT [url] [runs]
PROXY="$1"
URL="${2:-https://api.ipify.org}"
N="${3:-5}"

fmt='connect=%{time_connect}s  ttfb=%{time_starttransfer}s  total=%{time_total}s\n'
echo "measuring $PROXY -> $URL ($N runs)"
for i in $(seq 1 "$N"); do
  curl -s -o /dev/null --max-time 10 \
       --socks5-hostname "$PROXY" \
       -w "$fmt" "$URL"
done

# Compare against no proxy to see the true added cost:
#   for i in $(seq 1 5); do curl -s -o /dev/null -w "$fmt" "$URL"; done

Measuring proxies fairly

A short methodology you can reuse.

To compare proxies honestly, hold the variables steady. Test every proxy against the same target and from the same network, run each one several times and report the median rather than the luckiest sample, and always measure a baseline with no proxy so you can attribute the added latency to the proxy rather than to your own connection or the destination. Distance is physics: a proxy geographically far from you or from the target will always add latency no tunnel can remove, so factor location in rather than blaming the proxy.

This is the same discipline behind s4m's numbers. Authenticated datacenter proxies are built for consistent, low-latency performance, and the free-list latency column is generated from real timed requests, not ICMP. Want a single proxy checked instantly? Use the proxy checker; want to validate a whole list including speed, see how to check proxy validity.

FAQ

Questions, answered

Why is my proxy's ping low but it still feels slow?

Because ping measures ICMP to the proxy, not your real traffic through it. Your requests pay for the TCP handshake, TLS, DNS and the destination's response time — none of which ping captures. A proxy with a great ping can still have slow time-to-first-byte or poor throughput, which is what you actually feel.

What's the difference between latency and throughput for a proxy?

Latency is the delay before a response starts; throughput is how much data moves per second once it does. Latency dominates many small requests like API calls and scraping page-by-page; throughput dominates large downloads. A proxy can be strong in one and weak in the other, so measure the one your task needs.

How should I benchmark a proxy properly?

Measure a real request through it, not a ping. Time the connect and first-byte stages with curl, test against the same target from the same network, run several times and take the median, and compare against a no-proxy baseline. The bash script above does exactly this.

Does distance to the proxy affect speed?

Yes, unavoidably. A proxy far from you or from your target adds round-trip time that no software can remove — it is physics. When comparing proxies, factor in location, and prefer an exit that is geographically sensible for both you and the destination you are reaching.

Measure it, don't guess it

Benchmark proxies the way requests actually behave with the script above, or start with authenticated datacenter proxies built for consistent low latency. Test one free in the proxy checker first.

People found this page by searching for

Real search phrases this page answers — the linked ones open the page that covers them in depth.