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:24] – [QPS - Query rate per second] tungnt | development:tps-qps [2024/08/21 07:50] (current) – [Bài toán] tungnt | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== TPS & QPS ====== | ====== TPS & QPS ====== | ||
+ | ===== QPS - Query rate per second ===== | ||
+ | |||
+ | QPS - Query rate per second: là số lượng truy vấn mỗi giây, là thước đo lưu lượng của máy chủ truy vấn xử lý giao dịch trong một thời gian cụ thể. | ||
+ | |||
+ | RT - Response time: Thời gian phản hồi của hệ thống, tính từ lúc request được gửi đi tới khi nhận được respond trả về từ hệ thống. | ||
+ | |||
+ | {{ : | ||
Line 7: | Line 14: | ||
TPS - Transactions per second: Số Transaction được xử lý thành công trong 1 giây. | TPS - Transactions per second: Số Transaction được xử lý thành công trong 1 giây. | ||
- | ===== QPS - Query rate per second ===== | + | {{ : |
- | QPS - Query rate per second: là số lượng | + | Một TPS có thể bao gồm nhiều |
- | RT - Response time: Thời gian phản hồi của hệ thống, tính từ lúc request được | + | **Ví dụ:** một người A uống được 10 lon bia trong 10 phút, người B uống được 1 lon bi trong 1 phút. Nhưng người B chưa chắc uống được 10 long bia trong vòng 10 phút. Khi này người A là TPS, người B là QPS. |
+ | |||
+ | ===== Công thức ===== | ||
+ | |||
+ | * 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 | ||
- | {{ :development: | + | **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 = 10 | ||
+ | * RT = 5*60 = 300s | ||
+ | * QPS (TPS) = 10/300 = 0.003 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.1724225083.txt.gz · Last modified: 2024/08/21 07:24 by tungnt