Skip to content

VPN speed testing compared: How to measure your real-world speeds

Choose a speed test, pick the right time, and track latency and packet loss with a repeatable process that separates advertised speeds from real-world performance.

The point of comparing VPN speeds isn’t to find the highest download number. It’s to test different routes under similar conditions while doing the same tasks. Check your local connection first, use a consistent test server, then verify the results with browsing, video, or calls. This helps pinpoint bottlenecks. This guide covers a repeatable test and logging process, not an unverified ranking of routes.

Which metrics matter beyond download speed?

Download speed measures how quickly data reaches you, making it useful for large downloads and video buffering. Upload speed matters for sending files, cloud backups, and video calls. Loading a webpage also involves DNS lookups, connection setup, and server response time, so ample bandwidth doesn’t guarantee a fast first load.

Latency is the time it takes for data to make a round trip. Jitter measures how much latency varies, while packet loss means test data failed to arrive as expected. Calls and interactive apps are especially sensitive to jitter and packet loss. Check the units before comparing results: bandwidth tools often use Mbps, while download apps may show MB/s. Those figures aren’t directly comparable.

Each metric answers a different question; there’s no universal pass mark
Metric What it measures Common misread
Download and upload speed Sustained data transfer capacity Treating a brief peak as performance over the whole test
Idle latency Round-trip time when the network isn’t busy Comparing results from different test servers
Latency under load How response times change during heavy data transfer Missing slowdowns when downloads saturate the connection
Jitter and packet loss Assessing the consistency of calls and voice chats Mistaking a nonresponsive intermediate router for packet loss affecting your traffic
Real-world task performance Checking page load, buffering, and uploads against your needs Relying on a speed test page without trying your usual apps

Choosing a test: a consistent server matters more than the tool

Browser-based speed tests are a quick way to record throughput and latency, but they may automatically choose a different server when your exit route changes. A test on your local network may use a nearby server, while a test over an international route may use one elsewhere. Since the two results follow different paths, you can’t use them alone to calculate route overhead. If possible, select the same test server manually and note its name and location.

Latency tests built into VPN clients are useful for screening, but not for direct comparisons. Some measure connection setup time, some request a specific webpage, and others only check whether a node responds. Since the tests measure different things, results labeled “latency” shouldn’t be used to rank different clients. A node responding to a probe doesn’t mean video, uploads, or DNS resolution are working properly.

The system ping command can help you check for variations in a host’s response time, but its ICMP probes may not use the application proxy. System proxy settings generally don’t route this traffic automatically. Whether TUN mode does depends on the implementation and configuration. Don’t mistake a direct connection from your device to the host for VPN route performance.

Before testing: rule out local factors

A local network baseline helps show whether your device or internet connection is already the bottleneck. Disconnect the proxy and test a destination you can reach directly, then connect and test the same destination again to see what the additional route changes. If an international destination isn’t directly reachable, don’t force a like-for-like comparison. Use the local baseline to assess your connection, then compare routes against the same international destination.

  • ✅ Use the same device, network, and client version for every test. Note whether you’re connected over Ethernet or Wi-Fi.
  • ✅ Pause cloud sync, system updates, and background downloads. Check that other devices aren’t using a significant share of the network.
  • ✅ For Wi-Fi tests, stay in the same location so changes in signal strength aren’t mistaken for route differences.
  • ✅ Keep the test server, connection mode, and split tunneling rules fixed. Turn off settings that automatically switch nodes.
  • ✅ Check the client connection log to confirm the test domain is using the intended route.
  • ❌ Don’t change the node, protocol, device, and test server all at once.

Include platform differences in your notes. Desktop clients may use the system proxy or create a virtual network interface; mobile devices usually route traffic through the VPN interface provided by the operating system. Browser extensions often affect browser requests only. Even with the same subscription, differences in which traffic is routed mean the results aren’t directly comparable.

Test in order: baseline, route, real-world tasks

  1. Record a baseline. With the proxy disconnected, note how your internet connection performs and whether the destination is directly reachable. If the baseline is already unstable, check your Wi-Fi signal, router, and background traffic first.
  2. Import an active subscription. Copy the subscription link from your account dashboard and update the configuration using your client’s subscription import option. A subscription provides configuration such as nodes and rules; it isn’t an individual node address. Make sure you choose the correct import type.
  3. Verify the route. Select the route you want to test and check the connection log to confirm the test request goes through the intended node. If the test domain is going direct, adjust the rules according to the client’s instructions before recording results.
  4. Repeat the same test. Keep the destination, tool, and mode unchanged, and record the full results. Alternate between routes so one isn’t always tested during quiet hours while another is tested during busy hours.
  5. Test real-world tasks. Open the same webpage, play the same content, and upload the same file. Note first-load time, buffering, and transfer stability. Consider these observations alongside the test results.

Subscription links usually contain access credentials and should be treated as sensitive information. Before sharing logs with support, redact the full link, tokens, and account details. Keep only the node name, time, and error message needed to investigate the issue. If a subscription link is exposed, reset it using the options available in your dashboard rather than continuing to share it.

When to test and what to record: don’t keep only your best result

Test at the times you actually use the service, including both quieter and busier periods. Sustained downloads can be affected by shared bandwidth, server load, and network congestion. A single peak only reflects a brief moment. Keep the original results and look at typical performance, variation, and failures—not just the best-looking screenshot.

Use the median of repeated tests to summarize typical performance, while keeping the worst result and notes about anything unusual. If a system update starts, Wi-Fi reconnects, or the test destination changes, mark that run invalid and test again rather than including it in a route ranking. The fields below are for recording results; they aren’t VPNPack test data.

Speed test log checklist: fill in after testing; no results are assumed
Log item What to record Why it matters
Test conditions Date and time, connection, device, and client Check whether results can be reproduced
Connection route Node name, mode, and matching rule Confirm the test used the intended route
Test setup Tool, server name, and location Avoid comparing different routes
Raw results Download, upload, latency, jitter, and packet loss Distinguish low throughput from stability issues
Real-world tasks First-load time, buffering, call dropouts, and other issues Compare test figures with everyday use

Interpreting results: a route name doesn’t prove performance

Direct connections usually connect the client straight to an overseas entry point. A relay routes traffic through an intermediate or forwarding node first. IEPL typically refers to a dedicated Ethernet transport link provided by a carrier. These describe routes and transport methods, not speed rankings. Entry-point load, shared capacity, overseas exits, and destination websites can all affect results, so a name alone doesn’t tell you which route performs better.

Shadowsocks, VMess, Trojan, and VLESS are proxy protocols or protocol families. Hysteria2 and TUIC use QUIC-based transport designs. Protocol names don’t determine speed on their own: results also depend on the client implementation, transport settings, device performance, and how the network handles UDP. Check the dashboard and client compatibility information to see which options your subscription supports; don’t infer support from a protocol’s name.

If performance changes after switching protocols, keep the route and destination the same where possible. If you can’t, you can only conclude that the connection setup as a whole changed—not that the protocol alone caused the difference. Multi-threaded tests may boost total throughput while hiding slow single-connection downloads. For large-file transfers, check an actual download too, rather than relying on an overall score.

Troubleshooting: trace symptoms back to what changed

Fast speed test, slow first page load

Check DNS resolution, connection setup, and which split tunneling rules match. Speed tests usually transfer data continuously, while a webpage may request resources from several domains. If one resource takes the wrong route, the page can load slowly. Browser caches and existing connections can also make repeat visits seem faster, so keep cache conditions consistent when comparing.

A DNS leak means DNS queries are using an unintended resolution path; it doesn’t mean a webpage is slow. A different location for your proxy exit and DNS resolver isn’t enough on its own to confirm a leak. Check the client’s DNS settings, encrypted DNS in your browser, the system’s resolution path, and connection logs together. Don’t disable certificate checks or security features just to try to improve speed.

Downloads are fine, but calls keep breaking up

Check upload usage, latency under load, and the route used by the app. When a download saturates your connection, queueing can make interactive requests wait longer. Calls may also use a different transport from webpages. Stop high-bandwidth tasks and repeat the same call scenario to find out whether the issue is local network congestion or a particular route.

A probe reports packet loss, but everything works normally

Intermediate routers may limit probe traffic or give it a lower response priority. A hop that doesn’t respond in a route trace doesn’t necessarily mean your traffic is being dropped there. If later hops still respond normally, that’s even less reason to conclude there’s a problem. Check sustained performance at the final destination, app disconnects, and signs of retransmission.

Only one app can’t connect

First check whether the app follows the system proxy, is excluded by split tunneling rules, or depends on UDP. Other webpages working only shows that some routes are fine. For more troubleshooting, see the troubleshooting guide, or submit redacted environment details and error logs through a support ticket.

Choosing a route: keep the one that works for your tasks

Keep a route that performs reliably for your usual tasks, and have a backup route tested under the same conditions. If results are close, favor the option that causes fewer interruptions and is easier to switch to. Don’t keep changing your setup for a tiny difference in speed test results. Network routes change over time, so retest if problems persist; there’s little value in running speed tests continuously.

When choosing a VPNPack plan, consider both your test data and everyday use. Monthly subscription data resets each month on the activation date, while data packages never expire. Check data allowances and prices on the Plans & Pricing page. VPNPack offers a 7-day no-questions-asked refund; see the FAQ for how to request one. Plan allowances aren’t a speed guarantee—test route performance using the steps in this guide.

Start Free