Redis

Blocked Clients Indicate Synchronous Operation Bottleneck

warning
Connection ManagementUpdated Mar 2, 2026

Increasing redis.clients.blocked count indicates clients waiting on blocking operations (BLPOP, BRPOP, BRPOPLPUSH, BLMOVE, BZPOPMIN, BZPOPMAX), which can cause connection pool exhaustion if client timeouts are too long or if producers aren't keeping up with consumers.

Technologies:
How to detect:

Monitor redis.clients.blocked increasing over time. When redis.clients.blocked approaches significant percentage of redis.clients.connected (>20%), blocking operations are tying up connection pool. Correlate with redis.commands.calls for blocking commands to identify hot paths.

Recommended action:

Review timeout settings for blocking operations - reduce if appropriate. Verify producer-consumer balance in queue workloads. Consider using non-blocking operations with polling if blocking timeouts are causing issues. Increase connection pool size if blocking operations are necessary and expected. Monitor queue depths to ensure producers keep up with consumer demand.