Thread pool starvation
Your task
A Python web app (gunicorn with sync workers, 4 workers × 8 threads = 32 concurrent slots) fronts three downstream services: auth, billing, and recommendations. At 18:00 the recommendations service (a non-critical sidebar widget) starts taking 10s per call instead of 50ms. Within minutes your entire app, including login and checkout, which don't even touch recommendations, becomes unresponsive and starts timing out. Recommendations is only ~5% of your traffic. Triage and explain why a slow non-critical dependency took down everything.
It covers
- Slow downstream
- Bulkhead
- Connection leak