RedisFastAPI

Redis Connection Saturation Stalls Async Event Loop

critical
Connection ManagementUpdated Jan 10, 2026

When Redis connection pool exhausts under high concurrency, blocking Redis operations (even from async endpoints) stall the FastAPI event loop, causing serial-like request processing and tail latency spikes despite low CPU utilization.

How to detect:

Monitor redis.clients.connected approaching redis.client_backend_max while observing rising p95/p99 latency and flat or declining throughput despite moderate CPU (<70%). The event loop is blocked waiting for Redis connections while other coroutines starve.

Recommended action:

Increase Redis connection pool size (redis.client_backend_max) to match expected concurrency levels. Verify all Redis operations use async clients. Consider connection pooling middleware like PgBouncer-equivalent for Redis. Monitor redis.client_backend_wait_time to confirm connection availability.