When shopping for a VPS, you'll encounter terms like vCPU, RAM, NVMe, and bandwidth. Understanding what these specifications mean — and how they affect your application's performance — is essential for making an informed purchase decision.
vCPU (Virtual CPU)
A vCPU represents a virtual processor core allocated to your server. Modern hypervisors like Proxmox/KVM map vCPUs to threads on physical processors. The performance of each vCPU depends on the underlying hardware.
How vCPUs Work
# Check your CPU info on a running server
lscpu
# Example output:
# Architecture: x86_64
# CPU(s): 4 ← 4 vCPUs allocated
# Model name: AMD EPYC 7351P
# CPU MHz: 2400.000
# L3 cache: 32768K
# Check real-time CPU usage per core
mpstat -P ALL 1 5
How Many vCPUs Do You Need?
- 1 vCPU — Static websites, small blogs, development/testing environments
- 2 vCPUs — WordPress with moderate traffic, small Node.js/Python applications
- 4 vCPUs — Medium-traffic web applications, databases with concurrent queries
- 8+ vCPUs — High-traffic applications, video transcoding, CI/CD runners, game servers
RAM (Memory)
RAM is your server's working memory. It stores data that the CPU needs quick access to, including running applications, cached files, and database query buffers. When RAM runs out, Linux uses swap space on disk, which is dramatically slower.
Understanding Linux Memory Usage
# Check memory usage
free -h
# Example output:
# total used free shared buff/cache available
# Mem: 7.8Gi 2.1Gi 1.2Gi 128Mi 4.5Gi 5.3Gi
# Swap: 2.0Gi 0B 2.0Gi
# Important: "available" is what matters, not "free"
# Linux uses unused RAM for disk caching (buff/cache)
# This cached memory is released when applications need it
RAM Requirements by Workload
- 512MB-1GB — Lightweight static sites, small APIs, personal projects
- 2GB — WordPress with plugins, single-app Node.js/Python deployments
- 4GB — Multiple web applications, MySQL/PostgreSQL with moderate datasets
- 8GB — E-commerce platforms, medium databases, Java/Spring Boot applications
- 16GB+ — Large databases, Elasticsearch, Redis with large datasets, ML workloads
NVMe Storage
NVMe (Non-Volatile Memory Express) is the fastest type of SSD storage available. Unlike traditional SATA SSDs, NVMe drives connect directly to the CPU via PCI Express, eliminating bottlenecks.
Storage Performance Comparison
# Typical sequential read/write speeds:
# HDD (7200 RPM): ~150 MB/s read, ~130 MB/s write
# SATA SSD: ~550 MB/s read, ~520 MB/s write
# NVMe SSD: ~3500 MB/s read, ~3000 MB/s write
# Test your disk speed with fio
fio --name=randread --ioengine=libaio --direct=1
--bs=4k --numjobs=4 --size=1G --runtime=30
--rw=randread --group_reporting
# Check disk space usage
df -h
du -sh /var/log/*
How Much Storage Do You Need?
- 20-30GB — Basic web applications, small databases, minimal logs
- 50-80GB — CMS platforms with media uploads, medium databases
- 100-200GB — Large applications, extensive databases, backup storage
- 500GB+ — Media hosting, large data processing, multiple applications
Bandwidth and Data Transfer
Bandwidth refers to the maximum data transfer rate (measured in Gbps), while data transfer is the total amount of data moved in a billing period (measured in TB). Most providers offer generous transfer allowances on modern plans.
Calculating Bandwidth Needs
# Monitor real-time bandwidth usage
vnstat -l
# Check monthly data transfer
vnstat -m
# Estimate bandwidth needs:
# Average page size × Daily visitors × Pages per visit × 30 days
# Example: 2MB × 10,000 visitors × 5 pages × 30 = 3TB/month
# Check current network interface speed
ethtool eth0 | grep Speed
# Speed: 1000Mb/s (1 Gbps)
Putting It All Together
Here are common deployment scenarios with recommended specifications:
| Workload | vCPU | RAM | Storage | Bandwidth |
|---|---|---|---|---|
| Personal blog/portfolio | 1 | 1GB | 25GB | 1TB |
| WordPress (moderate traffic) | 2 | 2GB | 50GB | 2TB |
| E-commerce store | 4 | 8GB | 100GB | 3TB |
| SaaS application | 4 | 8GB | 80GB | 5TB |
| Game server (Minecraft/Palworld) | 4 | 16GB | 50GB | 5TB |
| CI/CD runner | 8 | 16GB | 100GB | 10TB |
Tips for Choosing the Right Specs
- Start small and scale up — Most providers let you upgrade without data loss
- Monitor first, optimize later — Use tools like htop and vnstat to understand real usage
- Don't over-provision RAM — Linux efficiently uses free RAM as disk cache
- Consider burst vs sustained loads — Traffic spikes need headroom
- Factor in growth — Choose specs that will accommodate 6-12 months of growth