TopDev

Redis có thể chịu tải được bao nhiêu tps

minhu 📖 3 phút đọc

Redis là một trong những hệ thống lưu trữ dữ liệu có tốc độ cao nhất hiện nay, và nó có thể chịu tải lên tới hàng triệu TPS trong điều kiện tối ưu.



TPS Redis chịu được là bao nhiêu?#

Điều kiện TPS (Transactions per Second) Redis xử lý
Local Redis đơn giản, không bảo mật, không persistence > 1,000,000 TPS
Redis có RDB persistence (snapshots) 100,000 – 500,000 TPS
Redis có AOF (Append Only File) 50,000 – 200,000 TPS (tùy cấu hình)
Redis Cluster (phân mảnh dữ liệu) 1,000,000+ TPS (scale lên nhiều máy)
Cloud Redis (AWS, GCP, Azure) ~200,000 – 2,000,000 TPS tùy cấu hình instance


📌 Các yếu tố ảnh hưởng TPS Redis:#

Yếu tố Ảnh hưởng như thế nào
Loại thao tác GET/SET đơn giản nhanh nhất; ZADD, HSET, LPOP… chậm hơn
Persistence (RDB/AOF) Bật lên sẽ làm TPS giảm
Mạng Redis dùng TCP, nếu mạng chậm sẽ giảm hiệu năng
Batch/Pipeline Redis hỗ trợ pipeline → tăng hiệu năng cực mạnh
CPU và RAM Redis là single-threaded (với Redis bản thường), nên cần CPU mạnh hoặc Redis Cluster
Bảo mật (AUTH, TLS) TLS bật sẽ làm giảm TPS 10–30%


✅ Benchmark thực tế#

Ví dụ: test bằng redis-benchmark#

redis-benchmark -n 1000000 -c 100 -P 16 -q

Kết quả trên máy ảo chuẩn (CPU 8 cores):

PING_INLINE: 600,000 requests/sec SET: 500,000 requests/sec GET: 550,000 requests/sec



🔧 Tối ưu để Redis đạt TPS cao#

Cấu hình Redis Gợi ý
save "" Tắt snapshot RDB nếu không cần
appendonly no Tắt AOF nếu chấp nhận mất data
tcp-keepalive 60 Đảm bảo kết nối ổn định
Pipeline/Batch Gửi nhiều command/lần
Redis Cluster Chia node theo key (hash slot)


📦 Redis phù hợp cho gì ở mức TPS cao?#

Use Case Redis có thể xử lý?
Caching web/API result ✅ 100% tốt
Counter (lượt xem, vote…) ✅ 100% tốt
Queue nhẹ / Pub-Sub ✅ tốt, nhưng Kafka phù hợp hơn nếu cần durable
Store log ngắn hạn ✅, nhưng cần RAM lớn
Session store / auth tokens ✅ rất phổ biến
Analytics Realtime (top N…) ✅ với ZSET hoặc HINCRBY


📌 Kết luận#

Trạng thái Redis TPS khả dụng (ước lượng)
Redis local, GET/SET 500k – 1 triệu TPS
Redis bật AOF + snapshot 50k – 200k TPS
Redis Cluster 3–5 nodes 1 triệu+ TPS
Redis Cloud (AWS ElastiCache) 100k – 2 triệu TPS


👉 Nếu bạn đang xây hệ thống cần hứng 1000–10,000 TPS, Redis hoàn toàn dư sức. Nếu muốn mình giúp bạn test TPS Redis thực tế bằng Java (lettuce, jedis), mình có thể viết code mẫu benchmark cho bạn. Bạn muốn không?

Bài liên quan trong #Database

✓ Đã sao chép link