首页 > 解决方案 > FastAPI 会随着时间的推移减慢文件下载速度

问题描述

我编写了一个带有 uvicorn 驱动的 FastAPI 后端的 Flask 应用程序,它同时提供 HTTP 请求和套接字数据(用于向所有客户端发送服务器驱动的消息)。

我正在使用该FileResponse方法返回html。

如果我启动服务器并前往 IP,那么它会在 2 秒左右快速加载。一天左右后,这个时间增加到了15秒左右。随着时间的推移,它变得越来越慢,直到我决定重新启动服务器。请注意,这一切都在同一个网络上运行,并且都是通过以太网下载的——没有 Wi-Fi。

检查正在发生的事情,似乎下载一个 1.6MB 的资源需要很长时间。但我不明白为什么它会随着时间的推移变得越来越慢。如果有页面的缓存版本,那么它仍然很快。

我想这与 FileResponse 类将文件作为响应异步流式传输的事实有关,因此一段时间后它可能会以位流式传输 javascript 文件(这是我在检查时看到的)。有谁知道如何FileResponse一次性发送整个文件?

标签: reactjspython-3.xfastapi

解决方案


推荐阅读