fastapi与django异步的并发对比

fastapi与django异步的并发对比概述据说 fastapi 是目前最快的异步框架 遂决定将其和 django 异步进行并发比较 先说结果 fastapi 的异步可以使整体运行速度非常均衡 不会出现较大波动 但是 django 会出现大量的波动问题 部分访问速度很快 但是部分访问速度很慢 甚至超时 个人感觉是因为 django 的数据库访问是同步的 但是 fastapi 我是用的异步数据库访问 django 不支持异步数据库访问 在长时间并发情况

概述

ab -n 10000 -c 1000 http://127.0.0.1:8002/get_update_info 
#fastapi # -*- encoding: utf-8 -*- """ @File : test2.py @Time : 2020/3/13 14:21 @Author : chise @Email : @Software: PyCharm @info : """ from typing import List import databases import sqlalchemy from fastapi import FastAPI from pydantic import BaseModel # SQLAlchemy specific code, as with any other app DATABASE_URL = "mysql+pymysql://......" # DATABASE_URL = "postgresql://user:password@postgresserver/db" database = databases.Database(DATABASE_URL) metadata = sqlalchemy.MetaData() notes = sqlalchemy.Table( "notes", metadata, sqlalchemy.Column("id", sqlalchemy.Integer, primary_key=True), sqlalchemy.Column("text", sqlalchemy.String), sqlalchemy.Column("completed", sqlalchemy.Boolean), ) engine = sqlalchemy.create_engine( DATABASE_URL, connect_args={ 
   "check_same_thread": False} ) app = FastAPI() @app.on_event("startup") async def startup(): await database.connect() @app.on_event("shutdown") async def shutdown(): await database.disconnect() class D(BaseModel): id: int info: str data: str @app.get('/get_update_info', response_model=D) async def get_update_info(): return await database.fetch_one("SELECT * FROM `publicadmin_updateinfo` LIMIT 1 ;") if __name__ == "__main__": import uvicorn uvicorn.run(app,) 

django代码如下:

class UpdateInfo(models.Model): info = models.TextField(verbose_name="更新日志") data = models.TextField(verbose_name="主要内容") # data = MDTextField(verbose_name="主要内容") class Meta: verbose_name = "公告栏" verbose_name_plural = verbose_name def get_update_info(request): """ 更新日志 Args: request: Returns: """ info: UpdateInfo = UpdateInfo.objects.first() return JsonResponse({ 
   "id": info.id, "msg": info.info, "main_info": info.data}) 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/211151.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午11:05
下一篇 2026年3月18日 下午11:06


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号