Đây là câu kiểm tra cách suy nghĩ có hệ thống, không phải kiểm tra kiến thức công cụ. Đi theo hướng thu hẹp dần, mỗi bước loại bỏ được một nửa khả năng.
1. Định lượng trước khi đoán. "Chậm" là gì: endpoint nào, từ khi nào, p50 hay chỉ p99, tất cả người dùng hay một nhóm (một region, một tenant lớn, một phiên bản app)? Nếu chỉ p99 xấu còn p50 bình thường, đó là một nhánh chậm chứ không phải cả hệ chậm.
2. Đối chiếu với thay đổi. Đa số sự cố trùng với một deploy, một đổi cấu hình, một migration, hoặc một đợt traffic. So mốc dốc lên trên đồ thị với các annotation deploy. Nếu khớp — rollback trước, phân tích sau.
3. Xác định chậm ở đâu bằng trace. Mở vài trace chậm và so với trace nhanh. Ba khả năng:
- Thời gian nằm trong một downstream (DB, cache, API bên thứ ba) → điều tra tiếp ở đó.
- Thời gian nằm trong chính service mà không có span con → CPU-bound, GC, khóa, serialize dữ liệu lớn.
- Thời gian nằm ở khoảng trống giữa các span → xếp hàng: chờ connection pool, chờ thread, chờ event loop.
4. Kiểm tra các nghi phạm hay gặp theo mức tần suất:
- N+1 query sau khi thêm một trường vào response.
- Thiếu index hoặc query đổi kế hoạch khi dữ liệu lớn lên — xác nhận bằng EXPLAIN ANALYZE.
- Connection pool cạn: latency tăng nhưng CPU của DB vẫn thấp; đây là dấu hiệu xếp hàng chứ không phải DB yếu.
- Downstream chậm cộng retry: một dependency chậm nhân với retry tự động làm tải tăng bội, kéo cả hệ thống xuống.
- Cache miss hàng loạt sau deploy hoặc sau khi cache bị xóa.
- Hàng xóm ồn ào / giới hạn tài nguyên: bị throttle CPU trong container dù utilization báo thấp.
5. Chốt bằng bằng chứng, đừng dừng ở tương quan. Trước khi kết luận, phải giải thích được vì sao nó bắt đầu đúng lúc đó. Nếu chưa giải thích được, giả thuyết còn thiếu.
6. Trong lúc điều tra vẫn giảm thiểu song song — rollback, tăng instance, tắt tính năng nặng — vì thời gian tìm nguyên nhân không ước lượng được.
Nếu môi trường thiếu trace, thay bước 3 bằng: log thời lượng từng chặng kèm request id, hoặc đo bằng bộ đếm quanh các lệnh gọi ra ngoài. Nhưng thiếu công cụ chính là hạng mục nên xuất hiện trong postmortem.