Cách tính Ram, CPU cho Cloud dựa trên số lượng truy cập website

Cách tính Ram, CPU khi dựng hạ tầng cho website mà team devops hay dùng
Ngày đăng:
Cách tính Ram, CPU cho Cloud dựa trên số lượng truy cập
1. Các thông số cần biết trước
Bạn không thể tính trực tiếp từ “lượt truy cập/ngày”, mà cần các yếu tố:
- DAU / traffic/ngày (ví dụ: 10,000 lượt/ngày)
- Peak traffic (%) – % traffic vào giờ cao điểm (thường 10–30%)
- Request/user – mỗi user tạo bao nhiêu request (5–20)
- Response time (giây) – server xử lý 1 request mất bao lâu
2. Tính số request/giây (RPS)
Công thức:
RPS = (Tổng lượt truy cập * request/user * % peak) / (3600 * giờ peak)
- 10,000 user/ngày
- 10 request/user
- 20% traffic vào giờ cao điểm
- Peak kéo dài 2 giờ
👉RPS = (10,000 * 10 * 0.2) / (3600 * 2)
≈ 2.8 request/giây
3. Tính số user đồng thời (concurrent users)
Concurrent = RPS * Response Time
Ví dụ:
- RPS = 2.8
- Response time = 0.5s
👉 Concurrent ≈ 1–2 user cùng lúc
4. Quy đổi sang CPU
Rule kinh nghiệm:
- 1 CPU core xử lý được ~50–200 RPS (tùy app)
- App nặng (Java, AI, query DB nhiều): ~50 RPS/core
- App nhẹ (NodeJS, cache tốt): ~100–200 RPS/core
👉 Với ví dụ trên:
- 2.8 RPS → ~0.1 CPU core
➡️ Thực tế nên tối thiểu 1 vCPU (không bao giờ cấp 0.1 😄)
5. Quy đổi sang RAM
RAM phụ thuộc:
- Memory mỗi request (MB)
- Số concurrent user
Công thức:
RAM ≈ Concurrent users * RAM/request + RAM hệ thống
Ví dụ:
- 2 concurrent user
- 50MB/request
👉RAM ≈ 2 * 50MB = 100MB
+ OS + app ~ 300–500MB
→ Tổng ~ 512MB – 1GB
6. Bảng ước lượng nhanh (thực tế)
| Traffic/ngày | RPS peak | CPU | RAM |
| 1,000 | ~1 | 1 vCPU | 512MB–1GB |
| 10,000 | ~3–5 | 1 vCPU | 1–2GB |
| 100,000 | ~20–50 | 2–4 vCPU | 4–8GB |
| 1,000,000 | ~200+ | 8+ vCPU | 16GB+ |
7. Các yếu tố làm thay đổi kết quả (rất quan trọng)
Bạn cần điều chỉnh nếu có:
- Có cache (Redis, CDN) → giảm CPU mạnh
- Query DB nặng → tăng CPU + RAM
- Upload/download file → tăng RAM + bandwidth
- API nhiều hơn web → tăng RPS
- SSR (NextJS) → CPU cao hơn SPA
8. Công thức “nhanh gọn” để dùng luôn
Nếu bạn cần ước lượng nhanh:
CPU ≈ RPS / 100
RAM ≈ concurrent * 50MB + 500MB
9. Gợi ý thực tế
Nếu bạn chưa rõ hệ thống:
- Website nhỏ → 1 vCPU – 1GB RAM
- Website vừa → 2 vCPU – 4GB RAM
- Có tăng trưởng → dùng auto scale (K8S)
Nếu bạn muốn, bạn gửi mình:
- Số traffic/ngày
- Loại web (WordPress, React, API…)
- Có DB gì (MySQL, Mongo…)
- Liên hệ: [email protected] 312 551