Redis Connection Saturation Stalls Async Event Loop
criticalWhen 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.
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.
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.