development:tps-qps
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
development:tps-qps [2024/08/21 07:39] – [Công thức] tungnt | development:tps-qps [2024/08/21 07:50] (current) – [Bài toán] tungnt | ||
---|---|---|---|
Line 22: | Line 22: | ||
===== Công thức ===== | ===== Công thức ===== | ||
- | RT = Thời gian phản hồi trung bình | + | * RT = Thời gian phản hồi trung bình |
+ | * QPS (TPS) = Số lượng yêu cầu / RT giao dịch mỗi giây | ||
+ | * Concurrent = Số lượng yêu cầu / Số lượng giao dịch được hệ thống xử lý cùng lúc | ||
- | QPS (TPS) = Số lượng yêu cầu / RT giao dịch | + | **Ví dụ:** Ngân hàng mở cửa vào buổi sáng, cho 10 nhân viên đứng ở 10 quầy. THời gian giải quyết trung bình của mỗi nhân viên là 5 phút. Khi đó: |
- | Concurrent = Số lượng yêu cầu / Số lượng giao dịch được hệ thống xử lý cùng lúc | + | * Concurrent = 10 |
+ | * RT = 5*60 = 300s | ||
+ | * QPS (TPS) = 10/300 = 0.003 lượt | ||
- | Ví dụ: Ngân hàng mở cửa vào buổi sáng, cho 10 nhân viên đứng ở 10 quầy. THời gian giải quyết trung bình của mỗi nhân viên là 5 phút. | + | > **QPS (TPS) = Concurrent/ |
- | + | ||
- | Concurrent = 10 | + | |
- | + | ||
- | RT = 5*60 = 300s | + | |
- | + | ||
- | QPS (TPS) = 10/(5*60) = 0.03 lượt | + | |
- | + | ||
- | > QPS (TPS) = Concurrent/ | + | |
====== Bài toán ====== | ====== Bài toán ====== | ||
> Theo định luật 20/80 vào thời gian cao điểm hệ thống, trên một Server duy nhất có PV (page view) mỗi ngày là 2.000.000. Thì Server này cần bao nhiêu QPS? Giả sử mỗi Server chịu được 60 QPS thì cần bao nhiêu Server? | > Theo định luật 20/80 vào thời gian cao điểm hệ thống, trên một Server duy nhất có PV (page view) mỗi ngày là 2.000.000. Thì Server này cần bao nhiêu QPS? Giả sử mỗi Server chịu được 60 QPS thì cần bao nhiêu Server? | ||
+ | * PV = 2000000 | ||
+ | * CONCURENT = PV * 80% | ||
+ | * RT = 86400 * 20% | ||
+ | * QPS = CONCURENT/ | ||
+ | * SV = QPS/60 = 92.5/60 ~ 2 (Cần 2 Server) | ||
+ | **Để cải thiện QPS cần:** | ||
+ | * Tăng CONCURENT: Tăng luồng xử lý đồng thời (thread), mở rộng Backend,... | ||
+ | * Giảm RT: tối ưu giảm thời gian xử lý - sử dụng cache, tối ưu hoá CSDL, tối ưu hoá code, giảm response không cần thiết, đẩy nhanh tác vụ (sử dụng rabbitmq, kafka, |
development/tps-qps.1724225956.txt.gz · Last modified: 2024/08/21 07:39 by tungnt