Fastapi API 调用阻塞了多个请求,因为对 API 的这种并行调用不起作用

问题描述

我构建了一个需要大量并行 cpu 计算的 API,我已部署到开发环境中。

ENTRYPOINT /usr/local/bin/gunicorn \
    -b 0.0.0.0:8001 \
    -w 1 \
    -k uvicorn.workers.UvicornWorker app.main:app \
    --timeout 1200 \
    --chdir /app \
    --log-level 'info' \
    --error-logfile '-'\
    --access-logfile '-'

一切正常,API 运行良好。

我有两个桌面,同时从不同的机器向部署的 API 并行发出请求。但发生的情况是,只有一个请求被处理并返回,然后在第一个请求完成后第二个请求开始处理并返回。

因此,第二个桌面大约需要 1 分钟才能获取结果,而第一个桌面大约需要 20-25 秒。

这背后的原因是什么?有没有人遇到过这种行为?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)