When You Outgrow a VPS: Steal Time, I/O Wait, and Player-Count Thresholds for Dedicated Hardware

A VPS rarely fails suddenly. It degrades in a recognisable sequence: latency creeps up during peak hours, then player counts drop while the CPU sits at 100%, then the provider throttles your I/O after a noisy-neighbour complaint. The decision to move to dedicated hardware should be driven by measurements, not by how the server feels at 9pm. This article gives you the thresholds — the specific numbers at which a VPS stops being the right platform.

The Seven Signals You Have Outgrown a VPS

SignalMetricThresholdWhy a VPS cannot fix it
CPU steal time%st in top / vmstatSustained above 5%Your vCPUs are being preempted by neighbours; you cannot buy your way out
Persistent disk I/O wait%iowaitAbove 10% at peakShared storage backend; provider-side noise
Memory pressureSwap in/out rateConstant swapping with 16 GB allocatedTop VPS tiers cap out at 32 GB and are often “burstable” only
Tick rate degradationGame server tick timeMissed ticks above 1% of ticksRequires dedicated cores, not shared vCPUs
Player capacity ceilingConcurrent playersHitting limits around 60–100Single-VPS CPU and RAM ceilings
Bandwidth ceilingMonthly egressAbove 5–10 TBVPS overage at $15–$30/TB destroys the budget
Network latency varianceJitter (p95 − p50)Above 15 msShared uplink and virtual switching add queueing

The defining characteristic of the first two signals is that they are outside your control. You can tune a kernel all day; you cannot stop another tenant on the same physical host from saturating the storage array. When steal time and iowait are your problem, the platform is the problem.

How to Measure Steal Time and I/O Wait

Run these before you decide anything. The first gives a 1-second-resolution view of steal and iowait; leave it running through a peak period.

  • vmstat 1 60 — columns st (steal) and wa (iowait). Watch them across your busiest 30 minutes.
  • iostat -x 1 30 — look at %util and await on the root device. await above 20 ms on NVMe indicates a shared backend problem.
  • cat /proc/pressure/cpu and /proc/pressure/io — PSI gives the percentage of time tasks are stalled on CPU or I/O, which is the cleanest single number for “is this box starved.”
  • For game servers specifically, log the tick delta the server reports. A Rust server at 30 tick should hold 30.0 ± 0.2; sustained dips to 25 indicate CPU starvation.

A useful heuristic: if PSI some avg60 for CPU exceeds 20% during peak, or for I/O exceeds 15%, the workload has outgrown the platform regardless of what your own process is doing.

Cost Comparison at the Crossover Point

The crossover is usually closer than people expect, because the VPS tier that solves your problem is the most expensive VPS tier, and it sits at the price of an entry dedicated server.

ConfigurationMonthly costCPU modelRAMBandwidthSuitable for
VPS — 4 vCPU / 8 GB$25–$45Shared, unspecified8 GB3–5 TB~30 players, small site
VPS — 8 vCPU / 16 GB$60–$100Shared, steal-prone16 GB5–8 TB~60–80 players
VPS — 16 vCPU / 32 GB$130–$200Shared32 GB8–12 TB~100 players, at the ceiling
Dedicated — 8 core / 32 GB$110–$180Dedicated cores32 GBUnmetered 1 Gbps150–250 players
Dedicated — 16 core / 128 GB$200–$350Dedicated cores128 GBUnmetered 1 Gbps300–600+ players, multi-instance

The 16 vCPU / 32 GB VPS at $130–$200 per month is the trap: it costs the same as a dedicated 8-core with dedicated cores, unmetered bandwidth, and no steal time. If you are paying for a top-tier VPS to get past a performance ceiling and it still is not enough, you are paying dedicated prices for shared hardware.

What Changes When You Move to Dedicated Hardware

  • Steal time goes to zero. Every core is yours; PSI CPU pressure reflects only your own workload.
  • Disk performance becomes predictable. You get the full NVMe device, not a slice of a shared array. Random 4K read IOPS typically go from 5k–15k virtio to 200k+ on local NVMe.
  • Tick rate stabilises. Dedicated cores remove the preemption that causes missed ticks during peak.
  • Bandwidth stops being a budget line. Unmetered 1 Gbps on a dedicated box replaces metered egress, which matters enormously for game servers where a single 200-player session can push 60–100 Mbps continuously.
  • You gain DDoS filtering headroom that providers do not expose to VPS customers.
  • New responsibility: kernel updates, firewall configuration, and monitoring are yours. Budget 2–5 hours per month for maintenance.

When You Should NOT Migrate

  • Your VPS is fine and you just want more headroom. Measure first. Plenty of 16 GB VPS instances run 50-player Minecraft servers with 0% steal.
  • Your problem is software, not hardware. A misconfigured MySQL instance or an unoptimised JVM will consume any amount of CPU you give it. Fix the configuration before buying a bigger machine.
  • You cannot handle root-level administration. If nobody on the team can debug a kernel panic or rebuild a RAID array, a managed VPS is the correct product even at a performance cost.
  • Your load is bursty and seasonal. A VPS that scales up for a two-week launch event and back down is cheaper than a dedicated server you hold year-round.

Migration Checklist

  • Baseline the current environment: player capacity, tick rate at peak, p50/p95 latency, and monthly egress.
  • Size the dedicated server from the baseline, not from the VPS specification. CPU cores are not comparable across shared and dedicated hardware; use tick rate and player count instead.
  • Confirm the bandwidth policy in writing — unmetered, and whether DDoS attack traffic is metered.
  • Run both environments in parallel for 3–7 days. Redirect a portion of players and compare tick rate and jitter charts before cutting over.
  • Set up monitoring from day one: node_exporter plus your game server’s metrics, with alerts on PSI, pps, and player count.
  • Keep the VPS as a fallback proxy or backup target for at least one billing cycle.

The Practical Threshold

If you want a single sentence: move to dedicated when you are paying $100+ per month for a VPS, seeing sustained steal above 5% or iowait above 10%, and supporting more than about 80 concurrent players or more than 5 TB of monthly egress. Any two of those three together justify the migration. One alone probably does not.

Our dedicated server hosting guides cover the per-game CPU and RAM sizing you will need for the migration, and the host comparison table lists which providers offer unmetered gigabit ports and included DDoS filtering on their entry-level dedicated plans — the two features that most often tip the decision.

A common landing point for VPS refugees is InterServer’s entry dedicated tier: a modern multi-core CPU with 32 GB RAM and a 1 Gbps unmetered port at a price comparable to a high-end VPS, with DDoS protection included. Their dedicated server plans with unmetered bandwidth are worth pricing against your current VPS invoice before you commit to another upgrade cycle.

Leave a Reply