Python 框架(Flask,tornado,fastAPI)Go 的gin框架 Java spring 框架中的性能对比
使用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")
}
测试结果:

Java spring框架:
package com.example.mytest.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import javax.servlet.http.HttpServletRequest;
@Controller
public class IndexController {
@GetMapping("/")
public String test(HttpServletRequest request, Model model) {
return "hello world";
}
}
测试结果:


浙公网安备 33010602011771号