Prepare a comparable test
1
Fix the configuration and target
Copy the generated host, port, username, and password. Record the gateway, requested exit location, protocol, session policy, and timestamp.The https://example.com/ URL below demonstrates syntax. Replace it in every command with the same actual test URL. Use a small response and consistent request and redirect behavior. These commands do not follow redirects or fetch page subresources.
2
Measure the direct baseline
Run the direct command for your platform first. —noproxy ’*’ explicitly disables proxies for that request, preventing proxy environment variables from affecting the baseline.
3
Measure the proxy path
Choose the HTTP or SOCKS5 command matching your generated configuration. Replace every uppercase placeholder.An HTTP proxy and an HTTPS target are separate settings. Use an https:// proxy scheme only when the dashboard explicitly supplies a TLS proxy listener. The SOCKS5 example uses socks5h:// for proxy-side destination DNS.
4
Repeat and keep failures
Run 5–10 sequential requests for each configuration. Keep the device, network, target, response size, and session policy consistent. Record HTTP status, curl exit code, errors, and all three timings.Report the median, minimum, and maximum total time of successful requests, plus failed requests / total requests. Timeouts, authentication failures, and unexpected target errors are not zero-second successes. Reuse credentials for sticky comparisons; see rotation and sessions.
macOS or Linux
Direct request
HTTP proxy
SOCKS5 proxy
--noproxy '' clears bypass exclusions for that request. socks5h:// resolves the destination through the proxy; socks5:// uses local resolution.
Windows PowerShell
Usecurl.exe to avoid the curl alias. Discard the response using NUL, rather than the Unix /dev/null path.
Direct request
HTTP or SOCKS5 proxy
$latencyProxy according to the supplied protocol. The example temporarily clears and restores NO_PROXY, preventing bypass exclusions without depending on empty native arguments in older PowerShell versions.
Read timings and errors
These cumulative timings overlap; do not add them. A slow direct baseline calls for checking the local network and target. Slow connection setup suggests inspecting the entry path. Higher first-byte or total time needs examination alongside target behavior and transfer size. One timing cannot isolate every internal proxy hop.
A new curl process usually creates a new connection, while your application may reuse one. Diagnose with consistent commands, then test the actual application. See the curl manual for option and timing definitions.