Ngày đăng
Jan 10, 2024 6:16 AM
Tác giả
Lưu ý: bài viết mang tính tham khảo.
Giả sử ta xây dựng trang web với khả năng chịu tải của hệ thống lên tới 10 ngàn RPS, hệ thống ta triển khai lên AWS. Tính toán CPU và Memory cần thiết cho một máy ảo (EC2), và số lượng EC2 tương đối.
Tính toán CPU
Ta có công thức tương đối cho CPU:
RPS = Number of CPU * (1 / Task duration)
- RPS: Requests per second
- Number of cores: số lượng CPU
- Task duration: thời gian xử lý của một request (giả định)
Từ công thức trên ta có được:
Number of CPU = RPS / (1 / Task duration) = RPS * Task duration
Giả định một request mất 8ms để xử lý:
Number of CPU = 10000 * 0.008 = 80
Tính toán Memory
Ta có công thức tương đối cho Memory:
RPS = (Total RAM / Task memory usage) * (1 / Task duration)
=> Total RAM = RPS * Task duration * Task memory usage
Giả định một request mất 8ms để xử lý và sử dụng 4GB:
Total RAM = 10000 * 0.008 * 4 = 320GB
Chọn EC2
Giả sử ta chọn EC2 Instance Type là t4g.2xlarge (8 vCPU - 32 GiB) ta có bản thống kê sau:
RPS | 8 ms Task Duration (s) | CPU | Memory | EC2 t4g.2xlarge |
1000 | 0.008 | 8 | 32 | 1 |
10,000 | 0.008 | 80 | 320 | 10 |
Kết luận
Bài viết chỉ mang tính chất tham khảo với mục đích cung cấp dàn bài và cách tính toán giả định.
Mastering your Site Reliability Engineering Skills with On-Call in Action.
Những cuốn sách nên đọc để học Kubernetes cho người mới bắt đầu
Những cuốn sách nên đọc để học Kubernetes cho người mới bắt đầu