63 أسطر
1.0 KiB
Markdown
63 أسطر
1.0 KiB
Markdown
# Scalability Calculations
|
||
|
||
## Requirement
|
||
|
||
Design an architecture capable of handling **15,000 requests per second**.
|
||
|
||
---
|
||
|
||
## Container Capacity
|
||
|
||
Each container can handle:
|
||
|
||
- **500 requests/second**
|
||
|
||
---
|
||
|
||
## Required Containers
|
||
|
||
Without safety margin:
|
||
|
||
15000 / 500 = 30 containers
|
||
|
||
---
|
||
|
||
## Safety Margin
|
||
|
||
A 30% safety margin is required.
|
||
|
||
30 × 1.3 = 39 containers
|
||
|
||
---
|
||
|
||
## Final Result
|
||
|
||
**39 containers** are required to safely handle the expected traffic.
|
||
|
||
---
|
||
|
||
# Cold Start Strategy
|
||
|
||
To reduce startup latency for new containers:
|
||
|
||
- Keep 2–3 warm containers ready.
|
||
- Use lightweight Docker images.
|
||
- Configure health checks before routing traffic.
|
||
- Trigger auto-scaling at 70% CPU or 80% memory utilization.
|
||
|
||
---
|
||
|
||
# Using Ghaymah Block Storage
|
||
|
||
Ghaymah Block Storage is used for stateful workloads where data must persist even if containers are recreated.
|
||
|
||
Typical use cases include:
|
||
|
||
- PostgreSQL
|
||
- MySQL
|
||
- MongoDB
|
||
- Application uploads
|
||
- Persistent logs
|
||
- Backup storage
|
||
|
||
Application containers remain stateless, while persistent data is stored on Block Storage. |