前言
FastAPI 已是 Python 最快的 Web 框架之一,生产环境仍可优化。
技巧 1:async 路由
路由声明为 async def 可让事件循环并发处理请求。
技巧 2:连接池配置
pool_size=10, max_overflow=20, pool_pre_ping=True 是经典配置。
技巧 3:精简中间件
每个中间件都会增加延迟,CORS/日志/CSRF 要精简到必要项。
技巧 4:Redis 缓存
首页列表、热门标签等高频查询用 Redis 可降 50ms 到 2ms。
技巧 5:uvicorn workers
推荐 workers = CPU 核数 * 2 + 1。
技巧 6:避免 N+1 查询
用 selectinload 或 joinedload 解决。
技巧 7:异步 IO 库
HTTP 用 httpx,DB 用 asyncpg / aiomysql。
总结
性能优化是持续过程,先用压测找瓶颈再优化。