admin 管理员组

文章数量: 887021

flask,tornado,fastapi 压测比较(web框架)

flask,tornado,fastapi三个都是web框架,前两者都十分流行,后者是一个新框架。

做压测的原因是因为听说fastapi 性能极高,想看看跟其他框架差别多大。

flask是一个轻应用框架,简单好用易扩展。

tornado 是一个非阻塞的异步框架,性能高,并发高。

fastapi是一个入门简单,性能高的框架,据说可比node 和go,仅支持 python3.6及以上

 

测试步骤:

      写三份简单启动代码,统一绑定5159端口,ab 测试 20000 的连接数

测试代码:

fastapi

from ftapistapi import FastAPIapp = FastAPI()@app.get("/")
async def root():return {"message": "Hello World"}# 启动命令
# uvicorn app:app --reload --port 5159 --host 0.0.0.0

flask

from flask import Flask
app = Flask(__name__)@app.route('/')
def hello_world():return 'Hello, World!'#启动命令
#  flask run --host=0.0.0.0 --port=5159

tornado

import tornado.ioloop
import tornado.webclass MainHandler(tornado.web.RequestHandler):def get(self):self.write("Hello, world")if __name__ == "__main__":application = tornado.web.Application([(r"/", MainHandler),])application.listen(5159)tornado.ioloop.IOLoop.current().start()#启动命令
# python app.py

测试结果

fastapi

flask


tornado

 

 

结论:

       在裸框架的情况下,果然还是fastapi 最强,请求时间比其余两个短,每秒能处理的请求数也更多。

      不过我这个没有排除太多变量,只是粗略的比较了一下,仅作参考,不可定论。

本文标签: flask tornado fastapi 压测比较(web框架)