Giao diện
Giám sát cache
Năm nhóm chỉ số cần theo dõi khi vận hành cache, kèm trường tương ứng trong INFO của Redis.
Hit rate
Hit rate = cache hit / (cache hit + cache miss)- Đo theo từng API hoặc từng nhóm key (hit rate của
GetProduct), không chỉ một con số cho cả cụm: một API hit rate thấp bị che bởi API khác rất cao. - Không có con số chuẩn; hệ thống thông thường 80–95% là tốt. Dưới 50%: cache gần như vô ích (dung lượng hoặc TTL quá nhỏ, policy không hợp, dữ liệu đổi quá thường). 100% cũng đáng ngờ: có thể dữ liệu không bao giờ được làm mới.
- Hit rate cần nhìn cùng p99 (Nền tảng).
Latency
- Trung bình: Redis, Memcached thường dưới 1–2 ms.
- p90, p99 quan trọng hơn trung bình. p99 tăng mà trung bình không đổi thường là lệnh chậm (big key, lệnh O(N)) hoặc mạng.
SLOWLOG GETliệt kê lệnh chạy lâu hơnslowlog-log-slower-than;LATENCY DOCTORphân tích nguyên nhân.
Throughput
Số lệnh mỗi giây (ops/sec). Biết giới hạn của một node để quyết định lúc nào scale ngang.
Bộ nhớ
- Mức sử dụng: cảnh báo khi vượt ngưỡng đặt trước (ví dụ 60–70%
maxmemory), trước khi eviction bắt đầu. - Eviction rate: số key bị đẩy ra mỗi giây. Tăng cao cùng lúc hit rate giảm là dấu hiệu thrashing (Sự cố).
- Fragmentation ratio:
used_memory_rss / used_memory. Trên 1,5 là phân mảnh nặng; dưới 1 là đang dùng swap.
Kết nối
Phát hiện connection churn bằng tốc độ tăng của tổng số kết nối đã nhận, không phải số kết nối đang mở. Khi churn, kết nối mở và đóng gần như cân bằng nên số kết nối đang mở đứng yên.
- Redis:
total_connections_receivedtrongINFO stats. - Prometheus với redis_exporter:
rate(redis_connections_received_total[1m]). - Cùng với
connected_clientsvàrejected_connections(chạmmaxclients).
Trường INFO hay dùng
| Chỉ số | Trường trong INFO | Ghi chú |
|---|---|---|
| Hit / miss | keyspace_hits, keyspace_misses (stats) | Tính hit rate cả instance |
| Throughput | instantaneous_ops_per_sec (stats) | |
| Bộ nhớ | used_memory, used_memory_rss, maxmemory (memory) | |
| Phân mảnh | mem_fragmentation_ratio (memory) | |
| Eviction | evicted_keys (stats) | Lấy tốc độ tăng |
| Hết hạn | expired_keys (stats) | |
| Kết nối | connected_clients, total_connections_received, rejected_connections | Lấy tốc độ tăng của total |
| Replication | master_repl_offset, slave_repl_offset (replication) | Chênh lệch là lag |
Ghi nhớ
- Hit rate đo theo từng API; 100% cũng đáng ngờ.
- Nhìn p99 và slowlog, không chỉ latency trung bình.
- Eviction rate tăng + hit rate giảm = thrashing.
- Connection churn: nhìn tốc độ tăng của tổng kết nối đã nhận.