BRING YOUR OWN SERVER

One connection. A useful record.

A single Rust executable measures hardware, disk and network, then creates a local report you can review and publish.

RUST / CLIENT

One file. A report when it finishes.

Choose the architecture of the machine running the client. Prebuilt binaries need no compiler or Docker. No packages are installed and no system settings are changed.

Linux · x86_64 ↓ SHA-256 ↗

Linux · ARM64 ↓ SHA-256 ↗

macOS · Apple Silicon ↓ SHA-256 ↗

TERMINAL
chmod +x ./vps-bench && ./vps-bench run --plan unlisted-server --server-region unspecified --deep-hardware --global-network --network-diagnostics --site 'https://vpsarc.com' --market en

The default transfer tests cap payloads at 104 MiB down and 100 MiB up, plus diagnostic requests. Creates bench-output/RUN_ID.json and .html. Open the HTML to review; publishing is optional when submissions are open.

Already have a report? Submit it ↗

Optional: publish after testing

Add --submit to explicitly consent to publishing this report as a community self-report. Local JSON and HTML are saved first, followed by a separate .submission.json receipt. HTTP 202 means accepted, pending processing. Failures retain files without automatic retries. --site alone keeps manual submission.

TERMINAL
./vps-bench run --market en --site 'https://vpsarc.com' --submit

Publish after review, or retry the original report

After reviewing the local HTML, publish from the report or use the command below. Replace RUN_ID with the actual filename. The submit command consents to publication; it does not rerun measurements, change the original JSON or overwrite earlier receipts. Add --dry-run to inspect the plan.

TERMINAL
./vps-bench submit --report-file bench-output/RUN_ID.json --market en --site 'https://vpsarc.com'
01 / SSH

Build your remote test command

Test options and transfer budgets

Historical carrier retries share at most 96 MiB down and 48 MiB up; two public OpenSpeedTest endpoints add at most 32 MiB down / 16 MiB up. Beijing, Shanghai and Guangdong have IPv4/IPv6 TCP probes: 64/1400-byte SYN when permitted, explicitly labeled connect fallback otherwise. Mainland-initiated access still needs a mainland probe. Carrier/location labels follow public sources.

First confirm keys and host fingerprints with ssh my-vps. The client detects Linux amd64/arm64, uses --binary-dir or downloads from --site with SHA-256 verification, and runs a temporary remote executable. Reports stay on your computer.

TERMINAL
./vps-bench ssh --target my-vps --plan unlisted-server --server-region unspecified --deep-hardware --global-network --network-diagnostics --site 'https://vpsarc.com' --market en
02 / DIRECTIONAL CONNECTIVITY

Test from the network that matters

Optional: verify mainland-initiated access. Run on a mainland computer or probe you control and declare its carrier. Use an existing open TCP port on the VPS. --icmp adds ICMP; missing permissions remain unknown.

TERMINAL
./vps-bench probe --target YOUR_VPS_HOST --port 443 \
  --plan unlisted-server --server-region unspecified \
  --carrier china_unicom --probe-region cn-shanghai --ip-family ipv4 --icmp --site 'https://vpsarc.com' --market en

Carrier and region are operator-declared. CDN downloads and VPS-originated probes do not establish mainland inbound performance. --download-url can add a capped download from an HTTPS binary file on the same VPS.

03 / INDIVIDUAL MEASUREMENTS

Each measurement keeps its method and parameters.

CPU tests primes, f64 matrices and SHA-256 with three warmed trials, variation and quota counters. Memory adds shuffled dependent access latency to Copy/Scale/Add/Triad. Disk uses a 64 MiB temporary file, 18 synchronous direct I/O and 28 native AIO profiles on supported Linux, plus sync/readback verification and stage-specific memory budget evidence. --offline disables every network test.

TERMINAL
./vps-bench run --only system --offline
./vps-bench run --only cpu --cpu-threads 1
./vps-bench run --only memory
./vps-bench run --only disk --disk-dir /path/on/tested/filesystem
./vps-bench run --only network --global-network

Reference rates dated 2026-10-16 · ECB