Resource Limits & Sizing
Right-size your Raphtory deployment
Calculate CPU, memory, and storage requirements for your workload.
Quick Reference
| Graph Size | CPU Cores | Memory | Storage | Use Case |
|---|---|---|---|---|
| <1M edges | 2 | 8GB | 20GB | Development, testing |
| 1-10M edges | 4 | 16GB | 50GB | Small production |
| 10-50M edges | 8 | 32GB | 200GB | Medium production |
| 50-100M edges | 16 | 64GB | 500GB | Large production |
| 100M+ edges | 32+ | 128GB+ | 1TB+ | Enterprise scale |
Memory Calculation
Base Graph Memory
Formula: memory = edges × 100 bytes
Example: 10M edges ≈ 1GB base memory
Algorithm Overhead
Algorithms need additional memory:
| Algorithm | Overhead |
|---|---|
| PageRank | 2× graph size |
| Louvain | 2× graph size |
| Betweenness | 3× graph size |
| FastRP embeddings | dimension × nodes × 4 bytes |
Total memory needed: base + (2-3× base) = 3-4× graph size
Example Calculation
Graph: 10M edges
Base: 1GB
Algorithm overhead: 2-3GB
Recommended: 8-16GB
Add 20% buffer → 10-20GB total
CPU Sizing
Parallelization
Most algorithms parallelize well:
- PageRank: Scales to 16+ cores
- Louvain: Scales to 8-16 cores
- Component algorithms: Scales linearly
Recommendations
- Development: 2-4 cores
- Production batch: 8-16 cores
- Real-time: 4-8 cores with fast single-thread performance
Storage
Graph Data
- In-memory only: Minimal (logs only)
- Persistent graphs: 2× graph size for working space
- Historical snapshots: Size × number of snapshots
Logs & Metrics
- Application logs: ~1GB/day
- Metrics (Prometheus): ~100MB/day
Total storage: Graph + logs + buffer (30% overhead)
Kubernetes Resource Configuration
Monitoring Resource Usage
Capacity Planning Calculator
JVM/Runtime Tuning
For JVM-based deployments:
For Rust (Raphtory default):