Query chậm nhưng không ai biết

System lag, nhưng không có tracing, không có log slow query.

API trả response chậm, user chờ mòn mỏi, nhưng team không biết nguyên nhân. Không slow log, không tracing, chỉ có “cảm giác” hệ thống đang lag. Đây là cơn ác mộng khi audit hiệu năng.


Triệu chứng: Hệ thống ì ạch

Các dấu hiệu:
  • Request HTTP timeout hoặc mất vài giây để trả về.
  • Database query “nằm im” nhưng không ai biết query nào chậm.
  • Team đổ lỗi lung tung: “Chắc tại mạng!”

Giải pháp: Theo dõi và tối ưu

Để tìm và sửa:
  • Bật slow log: Cấu hình database (MySQL, Postgres) để ghi lại query chạy quá 1-2 giây
  • Dùng APM: Công cụ như Datadog, Sentry, hoặc NewRelic để trace toàn bộ request.
  • Check EXPLAIN: Phân tích query bằng EXPLAIN để tìm index thiếu hoặc full table scan.
Ví dụ: Một query SELECT * FROM orders WHERE created_at > '2020-01-01' có thể chậm vì thiếu index trên created_at.

🎯 Tóm lại: Slow query là “kẻ thù vô hình”. Bật slow log, dùng APM, và tối ưu query để hệ thống mượt mà hơn.

Post a Comment

Mới hơn Cũ hơn