How to Choose a VPS: So You Don’t Have to Migrate Later
Everyone who’s launched a project on shared hosting knows this moment: the site starts lagging, support says “you’re exceeding limits,” and your server neighbor is mining crypto on your CPU. The solution: a VPS. But choosing the right provider and configuration is where most mistakes happen.
Recommended platforms: digitalocean.com, hetzner.com
Step 1: Define Real Requirements
| Project | vCPU | RAM | SSD | Bandwidth |
|---|---|---|---|---|
| Static site/landing | 1 | 1 GB | 20 GB | 1 TB |
| WordPress (5K visits/day) | 2 | 2 GB | 40 GB | 2 TB |
| E-commerce (10K/day) | 4 | 4 GB | 80 GB | 4 TB |
| SaaS application | 4 | 8 GB | 100 GB | 5 TB |
| High-load API (100K req/day) | 8 | 16 GB | 200 GB | 10 TB |
Run your project locally first, measure peak RAM and CPU. Multiply RAM by 1.5x, CPU by 2x.
Step 2: CPU — Check the Generation
“2 vCPU” means nothing without processor info. The difference between Intel Xeon E5-2620 (2012) and Xeon Platinum 8470Q (2023) is 3-4x in single-thread performance.
Ask providers: CPU model, dedicated or shared core, base clock speed. Run sysbench cpu run — target 2,500+ events/sec.
Step 3: RAM — Don’t Skimp
OOM Killer will crash your site if memory runs out. Formula: RAM = (DB size × 0.5) + (app size) + 1 GB (OS) + 25% buffer. Always configure 1-2 GB swap.
Step 4: Disk — NVMe vs SSD
NVMe is critical for databases, search indexes, large e-commerce. SSD is fine for static sites and blogs. NVMe price difference is only $2-5/mo now — worth it.
Step 5: Location — Closer to Users
Every extra second of load time kills 7% of conversions. Target <50ms latency for your audience. Use CDN for static assets but remember: dynamic content speed depends on server location.
Step 6: Price — Calculate TCO
Hidden costs: backups ($2-10/mo), control panels ($15-30/mo), licenses, overage bandwidth ($0.01-0.10/GB), additional IPs.
Step 7: Support — Test Before Buying
Email support with a technical question before purchasing. Measure response time. Slow presale = slow production support.
Final Checklist
- CPU: dedicated core, generation ≥ 2019
- RAM: 50% over peak
- Disk: NVMe, 50% over current data
- Location: <50ms to target audience
- Bandwidth: 2x current usage
- Backups: daily, 7+ day retention
- Support: <1 hour presale response
- Scalability: upgrade without recreation
- Trial period: 7-30 day money-back
Common Mistakes
- “Buy cheap now, upgrade later” — not all providers allow flexible scaling
- “Shared core is fine” — noisy neighbor kills your performance
- “8 GB RAM for WordPress is overkill” — 50K visitor e-commerce easily uses 6-8 GB
- “DB and app on same server” — split at >5K visits/day
- “Backups aren’t needed” — everyone thinks this until the first
rm -rf