FastAPI接口耗时3700ms降至180ms:profile定位与三层缓存实战
线上订单列表API在QPS 200时P99延迟飙到3.7s,数据库CPU 92%。我通过cProfile+py-spy定位到N+1查询和JSON序列化两大瓶颈,用`selectinload`替代`lazy='subquery'`,再叠加Redis二级缓存和LRU本地缓存,最终P99降到180ms,QPS提升5.2倍。文章记录完整调优过程,含FastAPI+SQLAlchemy 2.0+Postgr

专注于模型推理优化的工程化与业务落地。持续实践模型部署和推理优化、RAG知识库搭建,重点关注效果、成本、稳定性和可维护性,分享经过验证的方案与真实复盘。
线上订单列表API在QPS 200时P99延迟飙到3.7s,数据库CPU 92%。我通过cProfile+py-spy定位到N+1查询和JSON序列化两大瓶颈,用`selectinload`替代`lazy='subquery'`,再叠加Redis二级缓存和LRU本地缓存,最终P99降到180ms,QPS提升5.2倍。文章记录完整调优过程,含FastAPI+SQLAlchemy 2.0+Postgr
项目从Vue 2.6+Props钻透迁移至Vue 3.5+Pinia,同时React 18.3分支从Context+useReducer迁移至Zustand 4.5。迁移后首屏渲染时间从2.3s降至1.1s(-52%),组件重渲染次数减少约67%,代码量缩减32%。本文记录真实迁移决策过程,包括方案选型对比(Zustand vs Jotai vs Pinia vs Valtio)、渐进式迁移策略(