【软件测试】Python异步编程之web框架 异步vs同步 数据库IO任务并发支持对比

本文通过测试比较了Flask(同步框架)和Starlette(异步框架)在数据库IO操作的性能差异。在并发压测中,Starlette的并发量是Flask的6倍,表明在数据库读写频繁时,异步框架的性能优势显著。测试环境包括Python 3.8、MySQL 8.0.27、Locust压测工具等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1|0测试基本信息

主题:比较异步框架和同步框架在数据库IO操作的性能差异
python版本:python 3.8
数据库:mysql 8.0.27 (docker部署)
压测工具:locust
web框架:同步:flask 异步:starlette
请求并发量: 模拟10个用户
服务器配置: Intel(R) i7-12700F
客户端配置:Intel(R) i7-8700 3.20GHz

2|0flask 同步框架

python中操作数据库通常使用ORM框架完成。flask 使用的ORM框架是大名鼎鼎的sqlalchemy,该框架是所有ORM框架中生态最完善的,但是sqlalchemy对异步的支持并不算友好,目前支持原生SQL操作。
定义表结构

from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import create_engine, Column, Integer, String

DB_URI = "mysql+pymysql://root:123456@127.0.0.1:3306/test"
engine = create_engine(DB_URI)
Base = declarative_base(engine)  # SQLORM基类

class Student(Base):
    __tablename__ = 'student'  # 表名
    id &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值