Python最快异步框架:AIOHTTP 还是 Tornado?

AIOHTTP和Tornado都是Python中有名的 Python web框架和异步网络库。

测试环境

  • aiohttp==3.3.2
  • tornado==5.1
  • uvloop==0.11
  • 硬件: Intel Xeon(R) CPU E5 v4, 3.6 gHz
  • Python 3.6.5 [GCC 6.3.0] linux v4

测试方式

  • 接收请求
  • 测试持续时间: 300秒

这里做了一个简单的基准测试,测试代码逻辑比较简单:请求到达时进行睡眠(sleep)。

基准测试图片如下:

image-20190226152908806

可以看到AIOHTTP + uvloop的组合比 tornado快了不少。

性能: AIOHTTP + uvloop > AIOHTTP > tornado + uvloop > tornado newstyle > tornado oldstyle

总结:AIOHTTP作为新一代异步框架,速度的确快了不少。当然,对于笔者来说, 性能是一方面,生态周边也是另一方面。 如果是入门阶段,在这两个框架选择,我建议使用AIOHTTP开发,。如果是熟练阶段,那么一切就都取决于你!

你可能感兴趣的:(Python最快异步框架:AIOHTTP 还是 Tornado?)