Python 中各个框架的性能对比(Flask,tornado,fastAPI)对比 Go 的gin框架

发布时间 2023-09-08 15:23:01作者: Py浪涛

使用jmeter进行压测:

配置如下:

 

Flask 框架:

Python代码:

from flask import Flask

app = Flask(__name__)



@app.route('/')
def hello_world():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run(port=8080)

测试结果:

 

Tornado 框架:

import tornado.web

class MainHandler(tornado.web.RequestHandler):
    async def get(self):
        # await asyncio.sleep(1)
        self.write("Hello, world!")

if __name__ == "__main__":
    app = tornado.web.Application([(r"/", MainHandler)])
    app.listen(8886)
    tornado.ioloop.IOLoop.current().start()

测试结果:

 FastAPI 框架:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"Hello": "World"}

if __name__ == "__main__":
    import uvicorn

    uvicorn.run(app, host="0.0.0.0", port=8885)

测试结果:

 GO gin 框架

package main

import (
"github.com/gin-gonic/gin"
"net/http"
)

func main() {
	// 创建一个 Gin 引擎
	r := gin.Default()

	// 定义一个路由处理函数
	r.GET("/", func(c *gin.Context) {
		c.JSON(http.StatusOK, gin.H{"message": "Hello, Gin!"})
	})

	// 启动 Gin 服务器
	r.Run(":8889")
}

  测试结果: