Tất cả tài liệu

Managed – FPT Database Engines

    Redis
    Redis
    Updated on 03 Apr 2026

    Giới thiệu

    Trang Redis Troubleshooting cung cấp hướng dẫn nhanh giúp bạn xác định và xử lý các lỗi thường gặp khi sử dụng dịch vụ Redis trên FPT Cloud. Nội dung tập trung vào những vấn đề phổ biến như lỗi kết nối, lỗi cấu hình, sự cố hiệu năng, lỗi backup/restore và các tình huống đặc thù của Redis.

    Mỗi mục đều trình bày dấu hiệu nhận biết, nguyên nhân và cách khắc phục rõ ràng, giúp bạn dễ dàng tự kiểm tra hoặc phối hợp với đội ngũ hỗ trợ kỹ thuật.

    Mục tiêu của tài liệu là giúp bạn vận hành Redis ổn định, an toàn và hiệu quả hơn, đồng thời giảm thời gian gián đoạn khi xảy ra sự cố.

    Mô tả chi tiết lỗi:

    1. Connection error: Server closed the connection

    1.1. Dấu hiệu nhận biết

    Khi ứng dụng client kết nối đến Redis có thể xảy ra lỗi:

    Redis error: Server closed the connection

    Lỗi này xảy ra do kết nối Redis bị ngắt đột ngột trong quá trình xử lý. Ứng dụng ghi nhận lỗi timeout hoặc phải kết nối lại nhiều lần.

    1.2. Nguyên nhân

    Lỗi xảy ra khi Redis server chủ động đóng kết nối với client. Một số nguyên nhân phổ biến:

    • Mạng không ổn định giữa ứng dụng và Redis.
    • Redis bị quá tải tài nguyên (CPU, RAM, số lượng kết nối).
    • Cấu hình kết nối từ ứng dụng không phù hợp.
    • Firewall hoặc thiết bị mạng (NAT, Load Balancer) can thiệp và đóng kết nối.

    1.3. Ảnh hưởng

    Khi lỗi xảy ra, hệ thống có thể bị ảnh hưởng như sau:

    • Gián đoạn xử lý dữ liệu tạm thời: Các request phụ thuộc Redis (cache, session, queue) có thể thất bại.
    • Tăng độ trễ ứng dụng: Do phải retry hoặc thiết lập lại kết nối.
    • Mất dữ liệu tạm thời: Dữ liệu chưa được ghi thành công vào Redis có thể bị mất.
    • Giảm hiệu năng tổng thể: Ứng dụng phải fallback sang database hoặc xử lý lại logic.
    • Trong một số trường hợp, có thể gây lỗi dây chuyền nếu Redis đóng vai trò quan trọng (session store, message broker).

    1.4. Giải pháp khắc phục và khuyến nghị

    Bước 1: Kiểm tra kết nối mạng Xác nhận ứng dụng có thể kết nối ổn định đến Redis:

    redis-cli -h  -a  -p  ping

    Nếu không nhận được phản hồi PONG, cần kiểm tra lại network hoặc cấu hình truy cập.

    Bước 2: Theo dõi hiệu năng Redis Tích hợp monitoring và kiểm tra tình trạng hoạt động của Redis để phát hiện quá tải trên dashboard monitoring (hướng dẫn chi tiết xem tại mục Monitoring). Các thông tin tối thiểu cần theo dõi:

    • CPU, RAM
    • Số lượng kết nối
    • Thời gian phản hồi

    Bước 3: Kiểm tra cấu hình kết nối từ ứng dụng

    Tên và cách cấu hình tham số có thể khác nhau tùy theo Redis client. Tuy nhiên, bạn cần đảm bảo các nhóm cấu hình chức năng sau đã được thiết lập:

    • Kiểm tra trạng thái kết nối định kỳ (health check) → Giúp phát hiện sớm kết nối lỗi và chủ động tái tạo kết nối. (Ví dụ với redis-py: health_check_interval)
    • Duy trì kết nối TCP (keepalive) → Tránh việc kết nối bị đóng do timeout từ phía network hoặc thiết bị trung gian. (Ví dụ với redis-py: socket_keepalive)
    • Cơ chế retry khi timeout → Tự động thử lại khi request không nhận được phản hồi trong thời gian quy định. (Ví dụ với redis-py: retry_on_timeout)
    • Cơ chế retry khi gặp lỗi → Tự động thử lại khi xảy ra lỗi tạm thời như mất kết nối hoặc server đóng connection. (Ví dụ với redis-py: retry_on_error)

    Tham khảo tài liệu của Redis client bạn đang sử dụng để cấu hình đúng các tham số tương ứng:

    Bước 4: Kiểm tra firewall và thiết bị mạng

    Nếu có firewall hoặc thiết bị trung gian giữa Application subnet và Database subnet:

    • Kiểm tra log firewall để phát hiện kết nối bị đóng.
    • Đảm bảo không có cấu hình timeout hoặc giới hạn kết nối bất thường.
    • Theo dõi lưu lượng mạng để phát hiện gián đoạn.

    Tài liệu tham khảo: https://redis.readthedocs.io/en/stable/connections.html

    Khuyến nghị:

    • Sử dụng connection pooling và cấu hình keepalive để giảm nguy cơ mất kết nối.
    • Thiết lập monitoring và cảnh báo sớm cho Redis.
    • Triển khai ứng dụng với cơ chế retry khi kết nối thất bại.
    • Kiểm tra định kỳ cấu hình mạng và firewall để đảm bảo kết nối ổn định.