Python 性能优化
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/python-performance-optimization。
技能介绍
要解决什么问题
Python 写业务很快,但上线后常见问题是:延迟抖动、CPU 打满、内存持续上涨或偶发 OOM、数据库与 I/O 成为隐性瓶颈。这类问题往往不能靠「多买机器」解决,需要先定位热点函数、分配路径和等待点,再针对性改算法、减分配或改查询。
技能如何帮你推进
本技能把性能优化拆成可执行的工程流程,而不是泛泛的调优清单:
- 界定目标与约束:明确 SLA(如 P99 延迟)、输入规模、能否改依赖或数据结构,避免在无约束下无限优化。
- 分析与诊断:围绕 CPU 分析(如
cProfile、py-spy等思路)、内存占用与泄漏排查、I/O 与数据库慢查询,建立「测量 → 假设 → 验证」的闭环。 - 落地与验证:对 CPU 密集型逻辑、数据处理管道、高频路径给出可操作的改法,并要求用前后对比数据证明收益,而不是主观感觉变快。
更细的模式与示例见技能内的 resources/implementation-playbook.md。
适用边界
- 任务与 Python 运行时内的性能 无关时,不必启用本技能。
- 若问题主要在非 Python 栈(如纯前端渲染、网络架构、硬件选型)或需要本技能未覆盖的专业工具链,应换用对应领域的技能或文档。
- 优化应以可复现的基准与生产可观测数据为准;在未测量前大规模重构,风险通常大于收益。
使用场景
- 线上 Python API 发布后 P99 延迟明显升高,需要用 profiling 定位热点函数再改代码
- 常驻 Celery/RQ worker 运行数天后内存持续上涨,要区分泄漏与正常缓存并给出修复路径
- 批处理脚本用 pandas 处理千万行数据时频繁 OOM 或耗时过长,要优化内存峰值与 CPU 路径
- 生产环境不能长时间停机,需要在有限开销下对 Python 进程做采样分析并关联慢 SQL 或 I/O
适合人员
- 维护 FastAPI/Flask 等延迟敏感后端的工程师,要在发版后用数据证明优化是否有效
- 负责离线 ETL 或特征管道的数据工程师,要压缩 Python 数据处理任务的耗时与内存占用
- 值守生产环境的 SRE/平台工程师,要排查 Python 服务 CPU 打满、内存泄漏或 I/O 等待类故障
- 从原型迁到生产的算法工程师,要把 CPU 密集型 Python 实现改成可上线、可复现基准的版本