Networking 7 min read

Most stable VPN: how to read and test connection success rate and drop rate

Stability comes down to route type, exit quality and how the client reconnects. This article explains how to test connection success rate and drop rate yourself, and how to log results across peak hours. Before you can pick the most stable VPN, you have to turn stability into two numbers you can write into a table.

Before comparing the most stable VPNs, stop reading marketing copy and compare two numbers you can actually record: connection success rate and drop rate. The first answers “can I get connected”; the second answers “once connected, will it hold”. Log both by time of day before deciding whether to change routes — far more reliable than switching servers on gut feeling.

The method below needs no specialist tools: one device, one client and one log sheet will do. In everyday use, “most stable” just means the route with the fewest failures at the hours you actually use and on the sites you actually open. That verdict can only come from your own records; someone else's experience is a reference at best.

Splitting stability into two measurable numbers

Poor stability usually shows up in one of three ways: the handshake fails, the connection drops repeatedly once it is up, or it stays connected while the target site refuses to load. The three have completely different causes — the first usually sits in the entry route or the local network, the second involves exit capacity and protocol behaviour, and the third is often the exit IP being rate-limited by the site. Discuss them as one lump and the only conclusion available is “this route is bad”, which is not something you can verify.

Separate records are the only useful ones. Connection success rate = usable connections established ÷ connection attempts, and the key word is usable: a client showing connected does not count — you need an exit address and a page that loads. Drop rate = unplanned disconnects ÷ actual time in use. Manual server switches, deliberate disconnects and client updates all have to come out of the numerator, or the number only misleads you.

Read the two together. A route with a high success rate can still drop constantly once connected, and a route with a low drop rate can still need several retries before it connects. Report only one of them and you have said nothing.

Connection success rate: definition and test steps

Controlling the variables is the whole test. Same device, same client version, same route, same target site — swap any one of the four and the numbers before and after are no longer comparable.

  1. Fix the pass/fail rule. Pick one fixed page as the target; once connected, request it once and count returned content as a success. Timeouts, errors and empty responses all count as failures.
  2. Sample by time of day. Run one set in the morning, one at peak hours (roughly 20:00 to 23:00) and one late at night, with 20 consecutive attempts per set, logging each result.
  3. Log the failure type. Count handshake timeouts, authentication failures, DNS resolution failures and connected-but-no-traffic separately; it halves your troubleshooting time later.
  4. Log the setup time. Time from clicking connect to the target page being reachable, to the nearest second — it reflects how congested the entry route is.

The sample does not need to be big, but it does need repeating at the same hours over several days. A single run is easily skewed by temporary congestion; one day is a reference, three to five days side by side is evidence.

Drop rate: what to log and how

The denominator of drop rate is actual time in use, not elapsed time. A disconnect while the client sits idle costs nothing in experience, and counting it only dilutes the real problem.

What to logHow to log itWhat it tells you
Start and end timeTo the minuteGives actual time in use
Unplanned disconnectsOnly drops you did not triggerNumerator of the drop rate
What you were doing when it droppedWeb pages, video, large file transfersWhether it tracks traffic type
Recovery timeFrom disconnect back to usableShows the client's reconnect policy
Whether the local network failed tooTurn the client off at the same moment and retryRules out your home broadband

Check recovery time before disconnect count. Many drops that each recover automatically within seconds cost you little; two drops a day that each need a manual reconnect are the ones that justify changing routes.

Why peak hours deserve their own record set

Congestion on international routes clusters in the evening, and the same home broadband can behave completely differently at midday and at peak hours. However good the daytime numbers look, they cannot be used to infer peak-hour performance; peak hours need their own sample, with the same target site and the same pass/fail rule.

The logging is simple: run the same test set at the same hours for several days and put the results side by side in one table. A single day's swing proves nothing; several days side by side show whether it is occasional congestion or the norm.

  • ✅ Same target site, same pass/fail rule, one set in the daytime and one at peak hours.
  • ✅ Note whether the local broadband was running downloads or system updates during the test.
  • ❌ Upgrading the client mid-test invalidates everything before and after.
  • ❌ Blaming the route for disconnects caused by a weak Wi-Fi signal.

Route type and exit quality: choosing between dedicated lines, relay and direct

Route type decides the path; exit quality decides the endpoint. Both affect stability, but at different stages.

Route typePath characteristicsStabilityBest for
IEPL dedicated linePrivate-line egress that does not use public international gatewaysLittle variation at peak hours, fast handshakeVideo calls, cross-border work, long sessions
RelayConnects to a relay node before the international legDepends on the relay node and exit bandwidthEveryday browsing, streaming
DirectClient connects straight to an overseas nodeNoticeably affected by international gateway congestionLight use, backup route

Exit quality is the other dimension. On the same route, who owns the exit IP and how loaded it is directly affects usability: shared exits are more likely to trip the target site's rate limits at peak times, which shows up as “connected but the page will not load”. That kind of problem never appears in the connection success rate — you need the pass/fail rule above, a real page request, rather than the client's status light.

VPNZM's footprint is a useful reference point when choosing routes:

110+countries and regions
250+routes available
30day money-back guarantee

More routes means more choice, not that every route suits you. A region usually has several routes; once you have found the one with the lowest failure rate, stay on it — far more stable than connecting to a random node each time. Simultaneous connections are unlimited, so you can run your phone and laptop on different routes side by side and skip the repeated switching.

Protocol and client settings that affect stability

TCP-based versus UDP-based protocols

VMess, VLESS, Trojan and Shadowsocks run over TCP: they slow down passively when packets are lost, but usually get through more reliably. Hysteria2 and TUIC run over UDP and lean on congestion control to claw back bandwidth on weak networks, which feels better when there is packet loss. The trade-off is that some networks throttle UDP harder, so UDP routes can actually do worse at peak hours.

If only Hysteria2 or TUIC drops at peak hours while TCP routes are fine, do not rush to blame the node — the more common cause is stricter UDP handling on your local network. Switch to a TCP route once as a control and you will know.

Three settings worth checking by hand

  • Multiplexing (mux). Bundling several connections into one tunnel amplifies head-of-line blocking on a lossy path. If a route is unstable, turn it off first and measure the drop rate again.
  • Auto-reconnect and keepalive. Leave auto-reconnect on; do not set the keepalive interval too short, because frequent small packets keep eating bandwidth and are more likely to get throttled.
  • DNS and split tunneling. Enable DNS forwarding inside the client so lookups do not go over the local network; in your split-tunneling rules, send the sites you use through the proxy and local services direct. That cuts unnecessary tunnel traffic and lowers the risk of DNS leaks.

Re-record after changing any of these three, and do not mix the new numbers into the old table. Change one setting at a time and run a round of tests, so you know which one made the difference.

Route-selection checklist and conclusion

The method above, compressed into a checklist you can follow:

  1. Keep device, client version, route and target site fixed throughout.
  2. Run one set in the daytime and one at peak hours, 20 consecutive attempts each, logging successes and failure types.
  3. Use the connection for a stretch and log unplanned disconnects plus the recovery time for each.
  4. When a route is unstable, check in order: whether mux is on, whether the protocol is TCP or UDP, whether DNS goes through the tunnel, whether the local broadband is healthy.
  5. Once you find the route with the lowest failure rate, stay on it and retest every so often.

Conclusion: the most stable VPN is not a brand or a node — it is the route with the fewest failures at your hours and on your target sites. Log connection success rate and drop rate for a few days and the answer surfaces on its own; change routes before you have the data and the only thing you have really changed is how you feel about it.

If you would rather not maintain several clients yourself, VPNZM offers 110+ countries / 250+s, bank-grade encryption, unlimited simultaneous connections and a 30-day money-back guarantee. Run the test above first, and switch only if the numbers do not hold up.

Start Free Trial