现如今 Python 异步 IO 生态如何, Sanic FastApi SQLAlchemy 等是否能很好的编写 async/await 代码?

328 天前
 Baloneo

常用 ORM 中 SQLAlchemy 之前一两年对异步支持( MySQL )就使用遇到很多 Bug, peewee 现在也不支持异步。

Flask+gunicorn 对比 FastApi/Sanic+uvicorn 一般 CRUD Web 中是否有较大性能提升?

2245 次点击
所在节点    Python
12 条回复
westoy
328 天前
反正我手上老项目 gevent 一把梭了

新一点的直接 go 一把梭.....
ClericPy
327 天前
生态还不错, 全公司除了我谁都不用...
lanlanye
327 天前
数据库好像还是不太行,FastAPI 本身很好用了,语法那是 Python 的问题,不是框架的。

而且真正需要异步的地方也不多,重点的任务都扔 Celery 了。
chiron688
327 天前
Flask+gunicorn +pymysql 一把梭,反正是轮训进度状态,屎山代码和人有一个能跑就行,问题不大
so1n
327 天前
flask + gunicorn+gevent 和 asnycio 两个生态轮流用,感觉都 Ok
dingyaguang117
327 天前
Python 异步写业务能提升多少(相比多线程模型)我很怀疑。大头是 ORM 的复杂的 CPU 开销。如果是 IO 密集型,比如爬虫、大数量 RPC 调用可能还好点,普通 CRUD 感觉真的没什么必要
Baloneo
327 天前
感谢各位回复 看来 Python 异步在一般 Web 业务和生态性能上来说还是没有很大必要
makerbi
327 天前
wzwwzw
327 天前
SQlalchemy 2.0 对 asyncio 已经支持的很好了,fastapi 开始的时候支持就很好了,但 Celery 到现在还不支持 asyncio 的任务。
lozzow
327 天前
业务上已经没写过非异步的后端了
mlbjay
208 天前
@dingyaguang117 ORM 的大头是 CPU ?
Sanic+aiomysql+sqlalchemy+aioredis
我实际测试原生 SQL 用异步进行 CURD 的性能提升并不大,不知道是我框架搭建的问题,还是实际情况就是这样。
dingyaguang117
207 天前
@mlbjay 差不多就是这样吧 ORM CPU 开销不是一点点

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/949777

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX