FastApi 内存消耗

  • Post author:
  • Post category:其他


在使用FastApi 做项目的时候, 进行压测时发现 内存会主键飙升, 然后到达一个稳定值。

经过查看源码 和 一番搜索吼发现。 是因为 router 没有使用async def 定义的时候, starlette 使用线程池处理响应, 然而,线程池中的worker 没有及时释放 内存, 导致内存飙升。

解决方式: 升级Python 到 3.8 以上, 并且升级对应的 Fastapi asyncio

或者 使用async def 进行定义。

例如:


@api_router.get("/test")
async def test_get():
	# 注意使用 async def 定义
	pass



版权声明:本文为hpulfc原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。