At a Glance

Use TCPing to screen node ports, real connection latency to check whether a node can complete a proxy request, and download tests to measure sustained throughput. This guide is for v2rayN users facing issues like “low latency but pages won’t load” or “high latency but fast downloads.” Keep test conditions consistent, troubleshoot each layer, then choose a node based on how you’ll use it.

What Each Speed Test Measures

Loading a webpage involves more than connecting to a server. Your device connects to the node, the proxy core handles protocol authentication and transport negotiation, and the node connects to the destination site before response data returns. TCPing, real connection latency, and download tests measure different parts of this process, so their results aren’t directly comparable in a single ranking.

Test methodWhat it primarily measuresWhat it tells youWhat it doesn’t tell you directly
TCPingTCP connection from your device to the node address and portWhether the entry port is reachable and roughly how long the connection takesWhether the UUID is correct or the proxy can access websites
Real connection latencyA request sent through the tested node to a test URLWhether the proxy route and test destination are reachableResponse speed for every website or throughput for large files
Download speed testSustained data transfer from a speed test server through the nodeTransfer rate to that destination during that testLong-term minimum bandwidth, gaming latency, or overall app experience

Real connection tests often use a very small HTTP response, such as a URL that returns status code 204. They send an actual proxy request, but don’t load a full webpage. The timing endpoint, connection reuse, and timeout handling depend on the client and core implementation. So the result shouldn’t be read as “how long it takes for a browser page to fully load.”

Why a Low TCPing Result Doesn’t Mean a Node Works

TCPing typically attempts to connect to the server address and port configured for the node. If the node uses a domain name, its address must be resolved first; whether DNS lookup time is included depends on the implementation. TCPing is not ICMP ping and doesn’t require an ICMP response. A TCP port can accept connections even when the server blocks regular ping requests.

For example, if a VLESS node listens on TCP port 443 and TCPing reports 45 ms, that only shows that the entry point accepted a TCP connection. It says nothing about the subsequent TLS or REALITY negotiation, VLESS authentication, or the node’s outbound connection to the destination website.

Real Connection Latency: Check for Success Before Comparing Milliseconds

A real connection test sends a request through the node being tested. It typically involves a connection from your device to the node, proxy protocol handling, a connection from the node to the test destination, and the response coming back. With an HTTPS test URL, the destination’s TLS handshake is also involved. DNS caching, connection reuse, and the test method can all affect the time.

So TCPing at 45 ms and real connection latency at 260 ms aren’t contradictory. The difference isn’t a precise measure of “server processing latency,” and subtracting one number from the other doesn’t tell you how busy the node is. The test destination, the node’s outbound route, and the number of handshakes can all affect the result.

TCPing for Initial Screening

Check entry-point connectivity first to quickly spot obvious network or port problems across a group of nodes. Don’t choose your everyday node based only on the lowest millisecond reading.

Best for: Quickly checking entry-point issues across many nodes

Screening by Real Connection Latency

Recommended

Run repeated tests against the same URL. Keep nodes that return successful, consistent responses with little latency variation, then verify them against the websites you actually use.

Best for: Web browsing, API requests, and everyday node selection

Follow Up with a Download Speed Test

Test sustained throughput only for a small shortlist. Consider data usage and your actual needs; there’s no need to repeatedly run full-speed tests on every subscription node.

Best for: Large file transfers and evaluating video buffering

A real connection timeout doesn’t necessarily mean the node is unusable. The test URL may be unreachable, the destination may restrict certain egress routes, or DNS resolution may have failed. Keep the results from the original URL, then retest with another reliable URL that returns a small response. Don’t change destinations from one comparison round to the next, or you’ll lose a consistent baseline.

Download Speed Tests: Understanding MB/s, Mbps, and Burst Speeds

A download test measures how much data arrives over a period of time. The bottleneck could be your home broadband, Wi-Fi, shared node bandwidth, the outbound link, or the speed test server. The result describes the whole route, not the performance of the node server alone.

Start with the units. In decimal units, 1 MB/s equals 8 Mbps. Broadband plans are commonly advertised in Mbps, while download apps may display MB/s or MiB/s. The figures below are illustrative examples for educational purposes, not measurements by this site or a performance guarantee for any node. They show how all three results can occur at once.

45 ms
Example TCPing: entry-point connection
260 ms
Example real connection: proxy request
8 MB/s
Example download: about 64 Mbps

At an average rate of 8 MB/s, a 15-second test transfers about 120 MB, not including protocol overhead. Testing multiple nodes uses more data. If your subscription is metered, narrow the list with real connection tests first, then run download tests on two or three candidates.

Build a Repeatable Test Workflow in v2rayN

The steps below follow the node list workflow. Depending on the version, right-click menu items may be named “Test server latency (Tcping),” “Test server real connection latency,” or something similar. Settings may also move between groups, so follow the interface in your version. Record the client and core versions before testing; don’t combine results from before and after an upgrade as if they came from the same test run.

  1. Keep network conditions consistent: Pause other downloads, cloud sync, and system updates. Choose Ethernet or the same Wi-Fi network, and don’t switch networks during testing.
  2. Check the test settings: Open “Settings” → “Parameter Settings” and check the latency test URL, speed test URL, timeout, and concurrency options available in your version. Record the actual values. If speed test options have their own section, check that section too.
  3. Start with a small batch: Select the nodes to test in the node list, right-click, and run TCPing. Then run a real connection test on the same nodes. Record the results separately; don’t treat the two latency fields as interchangeable.
  4. Run three rounds: Use the same test destination each time and record both successful attempts and latency. For example, if the results are 180, 185, and 620 ms, the median is 185 ms—but keep the 620 ms spike in your records too.
  5. Test throughput separately: Run download speed tests on shortlisted nodes, one at a time. Record the time of day, test duration, and average speed. Avoid running multiple downloads that compete for your device’s bandwidth.
  6. Check your real-world use: Set a node as active and open the websites or services you actually use. A successful built-in test doesn’t guarantee that your system proxy, app proxy, or routing settings are correct.

Two-Round Testing: Separate Node Quality from Your Setup

Controlled test conditions
  • Keep the test URL, network, and test duration consistent.
  • Test a small batch for latency first, then run download tests one node at a time.
  • Record all three rounds, not just the lowest result.
Everyday app usage
  • Restore your usual system proxy and routing settings.
  • Check that the target app is actually using the selected node.
  • Retest websites, video, or downloads during your usual hours.

Controlled tests compare nodes; everyday checks confirm your configuration and real-world experience. Neither can replace the other.

Built-In Test Passes, but Your Browser Is Still Slow: Check the Proxy Route

The node test in v2rayN and your browser traffic may not follow exactly the same configuration path. A node test typically routes its test connection through the selected node, while everyday app traffic is also affected by system proxy settings, the app’s own proxy settings, routing rules, and DNS behavior. If a website is routed directly by a rule, switching nodes may not change its speed.

For an independent check, you can specify the local SOCKS endpoint explicitly. The command below assumes you’ve confirmed that 127.0.0.1:10808 is an active SOCKS or compatible mixed inbound, and that you’ve selected the target node in the interface. Port 10808 is just an example and may not apply to every installation. If your local listener uses a different address, update the command first.

curl --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 20 --output /dev/null --silent --show-error --write-out "HTTP=%{http_code} total=%{time_total}s\n" https://www.example.com/

Explicitly specifying the proxy endpoint helps rule out issues with the system proxy, but it doesn’t bypass the core’s routing rules. If you still suspect the request is taking the wrong route, check the destination, matched rule, and outbound tag in the logs while the request is running. Redact subscription URLs, credentials, and other sensitive information before sharing logs.

Speed Test FAQs: Troubleshoot by Symptom

TCPing takes only a few dozen milliseconds, but the real connection test times out. Should I switch nodes?

Run another real connection test from the node list, then check the core logs for the same time. If you see an authentication or handshake error, verify the UUID, TLS, REALITY, and transport settings. If only the test URL fails, try a reliable alternative before deciding the node is the problem.

Every node fails the test at the same time. Does that mean my subscription has expired?

Start with one known-working node and reduce concurrency. Check your local network, test URL, and whether the core started normally. Don’t repeatedly delete and reimport the entire subscription before identifying the cause.

Why are downloads fast but webpages still slow?

Large file transfers and repeated short connections are different workloads. Check real connection latency across multiple rounds, then inspect browser DNS, routing, and third-party resources on the website. Retest the same page instead of comparing load times across different sites.

Does -1 or a timeout mean the latency is extremely high?

Usually, treat these results as a failed test, not negative latency. Check the timeout setting and logs, then test again separately. Failure indicators vary by version, so read the status text; don’t average them with valid millisecond readings.

Should I always choose the node with the lowest latency?

Compare success rates and consistency first, then consider what you need the node for. For browsing, prioritize nodes with stable real connection results; for large transfers, compare sustained throughput. Retest at least once during your usual hours and keep a verified backup node.

A practical order for choosing a node is: successful requests, consistent results, and working performance for your actual use—then consider whether an individual metric is lower or higher. Record the test destination, network, time, and units so you can tell whether a slowdown came from the node, destination server, or local setup.