跳到正文
掘金· 没有气的汽水·· 17 小时前精选AI 评分65

排查 AsyncOpenAI 客户端每次新建事件循环导致的内存泄漏,用持久化循环复用客户端降低 47% 增长斜率

一次内存缓慢泄漏的排查:每次都 new 一个 OpenAI 客户端,问题出在事件循环上

AI 导读

作者在生产服务中发现内存缓慢泄漏,14 小时增长 5.35 GB、峰值 13.4 GB 逼近 16 GB 容器上限。根因是后台线程池用 asyncio.run() 每次新建事件循环,导致 AsyncOpenAI 客户端无法复用,每次都新建连接池和 SSL 上下文泄漏。

推荐理由

作者复盘了因每次新建事件循环导致 AsyncOpenAI 客户端无法复用引发的内存泄漏,给出用线程本地存储绑定持久化循环的修复方案,适合遇到类似异步客户端泄漏的后端工程师参考。

来源:掘金 · juejin.cn