剖析灵魂,为什么 aiohttp 默认的写法那么慢?

谢乾坤|青南 at 
剖析灵魂,为什么aiohttp默认的写法那么慢?的配图
在上一篇文章中,我们提到了 aiohttp 官方文档中的默认写法速度与 requests 单线程请求没有什么区别,需要通过使用 asyncio.wait 来加速 aiohttp 的请求。今天我们来探讨一下这背后的原因。我们使用一个可以通过 URL 设定返回延迟的网站来进行测试,网址为:http://httpbin.org/delay/5。当 delay 后面的数字为 5 时,表示请求这个网址以后,要等 5 秒才会收到返回;当 delay 后面的数字为 3 时,表示请求这个网址以后,要等 3 秒才会收到返回。大家可以在浏览器上面输入这个网址测试看看。现在我们写一段简单的 aiohttp 代码来进……