Cloud Server Sizing Guide: How Much CPU, RAM and SSD?
Cloud server sizing starts with the workload, not the hardware. This guide gives you starting ranges of vCPU, RAM and disk for common workloads, maps them onto the Small, Medium and Large presets of the DCXV cloud server page, and shows how to check the result with a few shell commands after deployment. Every range below is an estimate and a starting point, not a measurement. Your code, your traffic and your data decide the real numbers.
Start with the workload
Write down four facts before you open any configurator: what runs (web server, database, Windows application), how many people or requests hit it in the busiest hour, how much data you hold today, and how fast that data grows.
Then find the resource that hurts first. A PHP shop usually runs out of RAM before CPU. A build server runs out of CPU. A database runs out of RAM, then out of disk speed. Size for that bottleneck and let the other resources follow.
Starting ranges by workload
The presets: Small is 2 vCPU, 4 GB RAM, 40 GB NVMe from EUR 15.00/mo. Medium is 4 vCPU, 8 GB RAM, 80 GB NVMe from EUR 18.43/mo. Large is 8 vCPU, 16 GB RAM, 160 GB NVMe from EUR 36.88/mo. Prices checked 2026-10, one backup included in each. See what drives the price before you compare.
| Workload | Starting range (estimate) | Closest preset |
|---|---|---|
| Dev/test, VPN, monitoring, utility | 1-2 vCPU, 1-4 GB RAM, 20-40 GB disk | Small |
| Small site or blog, low traffic | 2 vCPU, 2-4 GB RAM, 20-40 GB disk | Small |
| Online shop, API or SaaS MVP | 2-4 vCPU, 4-8 GB RAM, 40-80 GB disk | Medium |
| App with its own database | 4-8 vCPU, 8-16 GB RAM, 80-160 GB disk | Medium or Large |
| Windows/RDP business app | Vendor formula first. M.E.Doc terminal: CPU = 4 + users, RAM = users x 2 GB + 4 GB | Large up to 4 users, custom above |
Assumptions: Linux, one main application, normal traffic with occasional peaks, no GPU work, no heavy batch jobs. An idle dev box needs less. An unoptimised plugin stack needs more. For the Windows row the vendor formula outranks any table: it is a requirement, not an estimate, and it changes with the deployment type, so read the vendor's current page. If your numbers fall between presets or above Large, build a custom configuration in the calculator on the cloud server page.
A worked RAM budget for a small shop
Here is an illustrative budget for one online shop on one server. The figures are assumptions, not measurements.
- Operating system and services - 0.5 GB.
- PHP-FPM - 10 workers x 100 MB = 1 GB.
- Database buffer pool - 2 GB.
- Redis cache - 0.5 GB.
- File cache and spikes - 1 GB.
The total is about 5 GB. A 4 GB server would swap under load. An 8 GB server keeps roughly 3 GB, about a third, free. Replace each line with your own numbers once the shop runs: the commands below show them.
Headroom, operating system and storage
- CPU - aim for sustained load under about 70% at your busiest hour, so a traffic spike does not queue requests.
- RAM - keep 20-25% available. Constant swapping means the server is too small.
- Disk - stay under 80% full. Databases, logs and updates grow faster than plans.
- Operating system - a minimal Linux needs a few hundred MB. Windows Server with a desktop needs a few GB before your application starts (estimate).
- Disk speed - capacity is not speed. A busy database cares about latency, so measure it.
Backup capacity is not production storage
Each preset includes one backup. That backup is a safety copy of the server disk, not extra room for your files. Do not count it when you size the disk, and do not plan to keep archives, media or dumps "in the backup". Production data lives on the server disk, so size that disk for data, growth and headroom. Before a risky change, add a snapshot: see cloud VM snapshots.
Measure after deployment
Measure during a normal busy hour and again during a peak. On Debian or Ubuntu, iostat comes from the sysstat package.
top -b -n 1 | head -n 15
free -h
vmstat 5 5
df -h
sudo apt install sysstat
iostat -xz 5 3
ps -eo pid,comm,%mem,%cpu --sort=-%mem \
| head -n 8
sudo du -xh --max-depth=1 /var \
| sort -h \
| tail -n 8
How to read the output:
- top - compare the load average with your vCPU count. A load above the vCPU count for long periods means CPU pressure. The
stvalue is CPU time taken by the host. - free - read the
availablecolumn, notfree. - vmstat - non-zero
siandsomean swapping. - iostat - high
%utiland growingawaitmean the disk is the bottleneck.
Choose and verify
Take the closest preset from the table and run it under real load. A short test is the honest way to check an estimate: see the trial checklist. Write to sales@dcxv.com to ask about a short trial; it is at DCXV's discretion and not guaranteed. If your measurements do not match the table, trust the measurements. Not sure about your numbers? Send your requirements to sales@dcxv.com and an engineer will review them, or open the cloud server page and pick a preset.
