0

我们有一个使用 FastAPI 编写的 API 服务。在我们的小型 Docker Swarm 集群中,当针对返回预定义 JSON 响应的端点进行测试时,我们每秒达到 40K+ 请求。但是当我们请求一个端点对外部服务进行 HTTP 调用,然后在请求完成后返回数据时,性能会受到严重影响。当我们在不进行外部 HTTP 调用的路由上达到每秒 40K+ 的请求时,我们在发出外部请求的路由上几乎无法达到每秒 100 个请求。

并且CPU使用率急剧增加。线程会被锁定吗?当我们只使用 Uvicorn 时会出现同样的性能问题,或者当使用 Uvicorn 工人类使用 Gunicorn 时它仍然存在。

我们正在寻求帮助,以提高在返回响应之前进行外部 HTTP 调用的端点的性能。

4

0 回答 0