gpt4 book ai didi

concurrency - 如何使用 Flask 和 Gunicorn 获得 1000 个请求的并发

转载 作者:行者123 更新时间:2023-11-30 08:28:36 24 4
gpt4 key购买 nike

我有4 machine learning models尺寸2GB每个,即 8GB总共。我收到关于 100 requests 的请求一次。每个请求大约需要 1sec .
我有一台机器有 15GB RAM 。现在如果我增加 number of workers在 Gunicorn 中,总内存消耗很高。所以我不能将 worker 数量增加到超过 2 人。
所以我对此有几个问题:

  1. worker 如何能够share models or memory它们之间?
  2. 哪种类型的员工适合,sync or async考虑到上述情况?
  3. 如何使用preload Gunicorn 中的选项如果它是一个解决方案?我用过它,但没有任何帮助。也许我的做法是错误的。

这是我正在使用的 Flask 代码
https://github.com/rathee/learnNshare/blob/master/agent_api.py

最佳答案

使用 gevent 工作线程(或其他事件循环工作线程),而不是默认工作线程。默认同步工作进程为每个工作进程处理一个请求。只要每个请求都是非阻塞的,异步工作线程就可以处理每个工作进程无限数量的请求。

gunicorn -k gevent myapp:app

可以预见的是,您需要为此安装 gevent:pip install gevent

关于concurrency - 如何使用 Flask 和 Gunicorn 获得 1000 个请求的并发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35914587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com