Why Your Python Async Code Is Slow, Broken, or Both — And How We Fixed It in Production (Without Rewriting Everything)

I shipped async Python code to production in 2013. I was *proud*. I’d replaced `requests.get()` with `aiohttp.ClientSession().get()`, slapped `async`/`await` on everything, and watched my service’s CPU drop from most to roughly a third. I tweeted abo...