Every week somebody orders a dedicated server for a workload that would have been happier on a $7 VPS, and somebody else squeezes a database onto a VPS that has been begging for bare metal for months. This is the sizing guide we give both of them. It uses real workloads, the numbers we see on our own fleet, and a bias toward the cheaper option whenever the cheaper option is honest.
Three shapes, three failure modes
A VPS is a slice of a physical host: dedicated RAM, a fixed share of CPU, an NVMe budget expressed in IOPS, and a network port that is fast but shared. It fails gracefully: when you outgrow it, the symptom is a slow week, not an outage, and the fix is a resize in the panel.
A dedicated server is the whole machine. Nothing is shared, nothing is throttled, and the disk does exactly what the datasheet says. It fails differently: the hardware is yours, so when a drive dies you are the one reading the RAID status, and when you outgrow it there is no resize, only a migration.
A GPU server is a dedicated or virtual machine with one or more accelerators attached. It is priced by the accelerator, so every hour the GPU sits idle is money burned. It fails expensively: a GPU that is only 15% busy is the most common waste we see in customer accounts.
Where a VPS is plenty
Most of what people run is small. A Django, Rails or Laravel application with a few hundred concurrent users, a Node API, a Discord or Telegram bot, a personal Nextcloud, a Matrix homeserver, a game server for twenty friends: all of these run comfortably on 4 to 8 GB of RAM and two to four vCPUs. The table below is what we actually observe across thousands of instances, expressed as the plan that leaves a comfortable 40% headroom.
| Workload | Sweet spot | Why |
|---|---|---|
| Static or WordPress site, under 50k visits/day | VPS-1 (2 GB) | nginx and PHP-FPM idle at 300 MB; the cache does the rest |
| Web app with a database on the same box | VPS-4 (8 GB) | 4 GB for PostgreSQL buffers, 2 GB for the app, 2 GB headroom |
| Docker Compose stack, 5 to 10 services | VPS-4 to VPS-8 | each container costs 100 to 400 MB even when idle |
| CI runner, builds under 10 minutes | VPS-8 (16 GB) | compilers want cores and RAM in bursts, not sustained |
| WireGuard hub for a team | VPS-1 | encryption is cheap; the port speed is the limit |
The tell that you are still fine on a VPS is that your load average is spiky and your disk queue is short. Check with vmstat 1 for a minute: if the wa column stays under 5 and the run queue rarely exceeds your vCPU count, you have headroom.
When bare metal pays for itself
Dedicated servers start at $239 on our price list, so the question is never “is it faster” (it is) but “does the difference pay the gap”. It does in four situations.
Sustained disk load
A VPS has an IOPS budget, which we set generously but which is still a ceiling. A PostgreSQL or MySQL instance that writes continuously, an Elasticsearch node, a ClickHouse table being backfilled or a Minecraft server with a large world will hit it. On bare metal the NVMe is yours: a pair of mirrored drives delivers over 600k random read IOPS, and the p99 latency stays under a millisecond even under a 24-hour import.
Sustained CPU load
Video transcoding, Monero mining you are not supposed to run on a VPS anyway, scientific batch jobs, a busy JVM with 32 threads: anything that pins all cores for hours is a bare-metal workload. A VPS-16 gives you 16 vCPUs, but they are hyper-threads on a shared socket; a 9950X gives you 16 physical cores at 5 GHz with nobody else on the die.
Predictable latency
Trading bots, game servers with strict tick rates and VoIP media servers care less about throughput than about jitter. A dedicated machine has no neighbours and no hypervisor scheduling, so the tail latency of a loop is bounded by your own code.
Memory above 32 GB
Our largest VPS has 32 GB. If your working set is bigger, a dedicated server with 128 or 192 GB of ECC memory is the only choice, and per gigabyte it is far cheaper.
When a GPU is the only honest answer
A GPU server is for work that a CPU cannot finish in acceptable time: running or training a model, rendering with Cycles or OptiX, transcoding hundreds of streams with NVENC, or simulation in CUDA. It is not for “an AI feature” that calls a hosted API, and it is not for a Stable Diffusion hobby that produces ten images a day; for that, a per-hour cloud notebook or your own desktop is cheaper.
Two rules keep GPU spend honest:
- Measure utilisation before you buy the next one.
nvidia-smi dmon -s uprints SM utilisation per second. Below 40% average, you have a batching problem, not a capacity problem. - Match the card to the memory, not the marketing. An RTX 5090 with 32 GB runs 8B to 14B models in full precision and 70B models quantised; an H100 with 80 GB runs 70B in FP8 with a real context window. If the model fits on the 5090, the H100 is paying for memory you do not use.
A simple decision tree
- Does the workload need a GPU to finish at all? If yes, GPU; pick the card by VRAM.
- Does it pin all cores or saturate the disk for hours at a time, or need more than 32 GB of RAM? If yes, dedicated.
- Otherwise, a VPS. Start one size smaller than you think, watch
vmstatfor a week, and resize from the panel if you were wrong.
Resizing a VPS upward takes about a minute and keeps your data and IP. Moving from a VPS to a dedicated server is a migration, which is why we suggest starting small: the cheap mistake is the reversible one.
What we would pick for common stacks
- SaaS MVP (app + PostgreSQL + Redis + worker): VPS-4, PostgreSQL on the same box until it passes 20 GB, then a second VPS for the database.
- Agency hosting 30 WordPress sites: VPS-8 with per-site PHP-FPM pools, or a dedicated server once traffic passes a few million pages a month.
- Analytics pipeline on ClickHouse: dedicated from day one; the disk pattern is exactly what a VPS budget is designed to cap.
- Private LLM endpoint for a company: one H100 for a 70B model, or one RTX 5090 for a 14B model; put vLLM behind a reverse proxy and share it.
- Game community: VPS-4 for a Minecraft or Valheim server up to 30 players, dedicated for modded servers with large worlds.
If your case is not on this list, open a ticket from the panel with a description of the workload and a rough traffic number. We answer sizing questions the same day, and we would rather tell you to buy the cheaper server.
