首页 > 解决方案 > 在同一条路线上使用多个请求加速女服务员服务器上的烧瓶应用程序

问题描述

我正在运行一个烧瓶应用程序,该应用程序在抓取 api 和许多机器学习计算上执行许多请求,并且能够同时在同一条路线上发出许多请求

我在有 8 个线程的服务器上使用女服务员作为 Web 服务器,所以我曾经以这种方式使用女服务员运行应用程序(我将女服务员的默认线程从 4 更新到 6):

serve(
    TransLogger(app, setup_console_handler=True),
    host=str(host_api),
    port=str(port_api),
    url_scheme='http',
    threads =  6
)

当同时执行 3 个客户端请求时,应用程序仍然很慢,运行时间为 2 分钟,每个请求逻辑上只需要 30 秒。我估计在逻辑上它可以减少到一半。

任何关于女服务员选项或使用其他工具(芹菜,套接字,...)的建议都知道我正在使用多处理进行一些计算,并且我使用了女服务员,因为我遇到了 ginicorn 和 nginx 的问题。此外,asyncio 有时表现良好,有时会减慢我的应用程序的速度。

非常感谢

标签: python-3.xflaskcelerypython-multiprocessingwaitress

解决方案


推荐阅读