Testing Infrastructure
Our speed tests run on a dedicated server with a direct, high-speed internet connection. This ensures the bottleneck in each test is the VPN connection itself, not our own infrastructure.
Why our numbers look high — and what they mean for you.
Because we test from a datacentre with a multi-gigabit uplink, our figures show each VPN server's full capability — how fast the tunnel itself can go when nothing else is in the way. They are not a promise of what you'll see at home: your real speed is capped by your own broadband (e.g. a 100 Mbps line can never exceed 100 Mbps through any VPN), your Wi-Fi, and your distance to the server. The value of these numbers is comparative — both providers are tested identically on the same hardware, so a server that's faster here will be faster for you too, relative to the alternatives.
| Component | Details |
| Test Server Location | Dedicated VPS with high-bandwidth connectivity |
| Speed Test Tool | Ookla Speedtest CLI (official command-line client) |
| VPN Protocol | WireGuard (Surfshark configs; NordLynx for NordVPN) |
| VPN Client | WireGuard via isolated Linux network namespaces |
| Test Frequency | Continuous — all servers tested in rotation, 24/7 |
| Servers Tested | 270 server locations per provider across multiple countries |
How Each Test Works
Every speed test follows the same automated sequence to ensure consistency and fairness:
- VPN Connection: Our system connects to each provider's WireGuard server using its configuration. We verify the tunnel is active and that traffic is routed through the VPN by confirming IP connectivity and DNS resolution.
- Speed Test Execution: We run the Ookla Speedtest CLI, which selects the optimal test server and measures download throughput, upload throughput, ping latency, and jitter.
- Result Recording: The raw results (download Mbps, upload Mbps, ping ms, jitter ms, test server used, and pass/fail status) are logged to our database with a UTC timestamp.
- VPN Disconnection: The WireGuard tunnel is torn down cleanly before the next server is tested.
- Repeat: The system moves to the next server in the rotation and repeats. A full round through all servers takes several hours, then starts again immediately.
What We Measure
Download Speed (Mbps)
The rate at which data can be pulled through the VPN tunnel, measured in megabits per second. This is the most important metric for streaming, browsing, and downloading files.
Upload Speed (Mbps)
The rate at which data can be pushed through the VPN tunnel. Important for video calls, uploading files, and torrenting (seeding).
Ping / Latency (ms)
The round-trip time for a data packet to travel to the test server and back, measured in milliseconds. Critical for gaming, video calls, and any real-time application. Lower is better.
Jitter (ms)
The variation in ping over time. High jitter means an inconsistent connection, which causes stuttering in video calls and lag spikes in gaming. Lower is better.
Connection Reliability (%)
The percentage of test attempts that complete successfully. A test can fail if the VPN tunnel doesn't establish, if the speedtest times out, or if invalid results are returned. We report this metric transparently.
Note on reliability: Our connection reliability metric reflects automated test conditions, which are stricter than typical user experience. A server marked at 70% reliability doesn't mean it fails 30% of the time for regular users — it means 30% of our automated tests (which include edge cases like rapid connect/disconnect cycles and strict timeout thresholds) didn't complete. Real-world user reliability is typically higher.
How We Handle Failures
Not every test succeeds. We classify failures into several categories:
- VPN connection failure: The WireGuard tunnel did not establish within our timeout window (15 seconds). This can happen due to server load, network routing issues, or temporary outages.
- Connectivity failure: The tunnel established but could not reach the internet (ping or DNS check failed). This indicates a routing issue on the VPN side.
- Speed test failure: The tunnel was active but the Ookla CLI returned an error or timed out (90 second limit).
- Invalid results: The speed test returned zero or negative bandwidth values, which we discard as bogus data.
Failed tests are recorded in our database and count against the server's reliability metric. We do not exclude failures to make numbers look better. However, speed averages (download, upload, ping) are calculated only from successful tests to avoid skewing the numbers with zeros.
Data Integrity
- No cherry-picking: We publish averages across all successful tests, not just the best results. Peak speeds are shown separately and clearly labelled.
- No affiliate influence: Our testing infrastructure runs independently of any VPN provider. While we use affiliate links to fund operations, our testing code and data pipeline are fully automated with no manual intervention.
- Transparent failures: We show reliability percentages for every server. Servers with zero successful tests are filtered from public pages.
- Consistent methodology: Every server is tested with the same tool, same settings, same timeout thresholds. No server gets special treatment.
Limitations
We believe in being upfront about what our data can and cannot tell you:
- Single test location: Our tests run from one geographic location. Your speeds will differ based on your distance from the VPN server and your ISP's peering with the VPN provider's network.
- WireGuard only: We currently test only the WireGuard protocol. OpenVPN and IKEv2 speeds may differ (typically slower).
- Two providers (for now): We test Surfshark and NordVPN head-to-head — see the live comparison. More providers are planned.
- Server load variability: VPN speeds can vary by time of day due to server load. Our continuous testing captures this variability in the averages, but your individual experience at a specific time may differ.
Open Questions? Get in Touch
If you have questions about our methodology or want to suggest improvements, we'd love to hear from you. Transparency and accuracy are our top priorities.