VPS vs Dedicated Server: How to Benchmark Performance with Real Linux Commands

Choosing between a VPS and a dedicated server is easier when you have hard data instead of marketing claims. This guide shows you how to run real Linux benchmarks on any server to measure CPU, memory, disk, and network performance yourself. Before provisioning, compare VPS providers on our comparison table to find the best value for your workload.

Installing Benchmarking Tools

Most benchmarking tools are available in your distribution’s package manager. Install the essentials on Debian/Ubuntu:

sudo apt update && sudo apt install -y sysbench fio iperf3 htop stress-ng

For RHEL/CentOS-based systems, use dnf or yum instead:

sudo dnf install -y sysbench fio iperf3 htop stress-ng

CPU Benchmark: Measuring Raw Compute Power

sysbench provides a reliable CPU test that calculates prime numbers. Run it to measure how many events per second your CPU can process:

# Run CPU benchmark with 4 threads (match your vCPU count)
sysbench cpu --cpu-max-prime=20000 --threads=4 run

# Expected output includes:
#   events per second:   XXX.XX
#   total time:          X.XXXXs
#   total number of events:  10000

On a modern dedicated server with physical cores, you should see 800-1200 events per second per core. A VPS on a non-oversold provider typically achieves 700-1100 events per second. If your VPS scores below 500 events per second, you may be on an oversold node.

Memory Benchmark: Latency and Throughput

Memory performance affects everything from database caching to application response times:

# Sequential memory write test (1K blocks, 10GB total)
sysbench memory --memory-block-size=1K --memory-total-size=10G --memory-oper=write run

# Memory latency test with stress-ng
stress-ng --matrix 4 --matrix-size 256 --timeout 30s --metrics-brief

VPS instances typically show near-native memory latency because KVM and VMware pass through the hardware MMU. The main limitation is total available RAM.

Disk I/O Benchmark: The Performance Killer

Disk I/O is where VPS performance varies most dramatically. Use fio:

# Random 4K read/write (most common database workload)
fio --name=random-rw --ioengine=libaio --rw=randrw --bs=4k --size=1G \
    --numjobs=4 --iodepth=32 --runtime=60 --time_based --group_reporting

# Sequential 1M read (large file transfers)
fio --name=seq-read --ioengine=libaio --rw=read --bs=1M --size=4G \
    --numjobs=1 --iodepth=8 --runtime=30 --time_based --group_reporting

NVMe-backed dedicated servers routinely achieve 500,000+ random IOPS (4K). A good VPS on NVMe storage should deliver 10,000-50,000 IOPS. For database workloads, anything under 20,000 IOPS will bottleneck under load.

Network Benchmark: Bandwidth and Latency

Use iperf3 with a public server:

# Run on your server (client mode)
iperf3 -c iperf.he.net -t 30 -P 4

# Measure latency
ping -c 100 8.8.8.8 | tail -3

Dedicated servers typically offer full port speed (1Gbps-10Gbps) with consistent latency. VPS instances share the uplink and may show latency spikes during peak hours.

Practical Decision Framework

Run these benchmarks on both candidate servers and compare against your workload:

  • Web serving (NGINX, Apache): CPU single-thread and network latency matter most.
  • Databases (MySQL, PostgreSQL): Random 4K IOPS and memory throughput are critical.
  • Video transcoding: Multi-core CPU performance is the priority.
  • Caching (Redis, Memcached): Memory latency and sequential disk writes matter.

For most small-to-medium workloads, a well-configured VPS from InterServer VPS or Cloudways managed VPS provides 85-95% of dedicated server performance at 20% of the cost. Always compare VPS providers on our comparison table before committing.

The bottom line: benchmark before you buy. A VPS on quality NVMe storage with a non-oversold hypervisor can handle workloads that would have required a dedicated server five years ago.

Leave a Reply