Latency
Định nghĩa
Latency là độ trễ từ lúc bắt đầu một request/operation đến khi nhận được kết quả hoặc phản hồi.
Cách hiểu bằng lời của tôi
Latency là thời gian user hoặc service phải chờ. Nó khác bandwidth và throughput: bandwidth là sức chứa đường truyền, throughput là lượng xử lý thực tế, còn latency là độ trễ cảm nhận trên từng operation.
Phân biệt latency và response time theo DDIA
- Response time là tổng thời gian client quan sát được từ lúc gửi request đến lúc nhận response. Nó gồm service time, network delay và queueing delay.
- Latency, theo cách dùng chặt trong nguồn này, là thời gian request nằm chờ trước khi được xử lý.
Trong thực tế hai từ thường bị dùng thay nhau, nên khi định nghĩa metric cần ghi rõ đang đo boundary nào và đo ở server hay client.
Distribution và percentile
Response time thay đổi giữa các request, vì vậy nên xem nó như một distribution thay vì một average duy nhất.

- p50 cho biết một nửa request nhanh hơn threshold đó và một nửa chậm hơn.
- p95/p99/p99.9 mô tả tail latency, nơi outlier ảnh hưởng trực tiếp đến một nhóm user.
- Queueing delay và head-of-line blocking có thể làm request nhanh bị chậm vì phải đợi request trước.
- Khi một user request cần nhiều backend call, chỉ một call chậm có thể làm toàn request chậm.
- Không lấy trung bình percentile từ nhiều máy; cần tổng hợp histogram rồi tính percentile trên phân phối tổng.
Các nguồn latency
- Network latency: khoảng cách vật lý, routing, congestion, packet loss.
- Server latency: thời gian xử lý request, query database, gọi dependency.
- Client-side latency: render, JavaScript blocking, device chậm hoặc asset quá lớn.
- Tail latency: p95/p99 tăng do overload, lock, queue hoặc dependency chậm.
Vì sao liên quan đến reliability
Latency spike có thể bị đọc thành failure. Khi timeout và retry bật lên, một vấn đề performance có thể biến thành Retry Storm, Cascading Failure hoặc Metastable Failure.
Khi deadline rất ngắn
Trong live streaming, latency không chỉ ảnh hưởng cảm nhận user mà còn quyết định segment có còn hữu ích hay không. Nguồn Netflix Live Origin mô tả retry budget khoảng vài giây và yêu cầu write rất nhanh; vì vậy read surge từ CDN phải được tách khỏi publishing path. Trong Tudum, latency của preview lại đến từ read path nhiều hop và cache refresh lệch nhịp, nên tối ưu nằm ở việc đưa read model vào memory của service.