How to Choose the Right Server Size for Your Application
CPU cores, RAM, storage — what does your app actually need? A practical guide to right-sizing your self-hosted infrastructure.
The Goldilocks Problem
Pick a server that's too small and your apps crawl. Pick one that's too big and you're wasting money. Here's how to get it just right.
Understanding Server Resources
CPU Cores
CPU handles computation — processing requests, running queries, rendering pages. Most web applications are not CPU-intensive. A blog, wiki, or project management tool runs fine on 0.25-0.5 cores.
CPU-intensive workloads:
RAM (Memory)
RAM is where your application keeps data it's actively working with. This is usually the most important resource for self-hosted apps.
Typical RAM usage:
Storage
Storage is for persistent data — files, database records, logs. SSDs (NVMe) are dramatically faster than spinning disks.
Storage needs:
Sizing Strategy
Start Small, Scale Up
Always start with the minimum recommended resources. Monitor actual usage for a week, then adjust. It's much easier (and cheaper) to scale up than to guess right the first time.
The 70% Rule
If any resource consistently hits 70% utilization, it's time to consider scaling. At 70%, you have headroom for traffic spikes without degraded performance.
Memory Is King
When in doubt, add more RAM before adding CPU. Most self-hosted applications are memory-bound, not CPU-bound. A database query that fits in memory is 100x faster than one that hits disk.
Common Configurations
Personal Use (1-3 apps)
Small Team (5-10 apps)
Growing Business (10+ apps)
TinyPod's Approach
Each TinyPod server gives you 4 cores, 8 GB RAM, and 75 GB NVMe storage for $5/month. Need more? Add another server. Resources are soft-limited per app, so you can allocate exactly what each application needs.