nee*_*eel 5 concurrency machine-learning flask gunicorn
我有各自4 machine learning models的大小2GB,即8GB总数.我一次收到请求100 requests.每个请求都在进行中1sec.
我有一台机器15GB RAM.现在如果我增加了number of workersGunicorn,总内存消耗会很高.所以我不能增加超过2的工人数量.
所以我对此几乎没有问题:
share models or memory之间如何相处? sync or async考虑到上述情况,哪种类型的工人适合?preload选项Gunicorn?我用它但它没有任何帮助.可能是我以错误的方式做这件事.这是我正在使用的Flask代码
https://github.com/rathee/learnNshare/blob/master/agent_api.py
使用 gevent 工作器(或另一个事件循环工作器),而不是默认工作器。默认同步工作线程处理每个工作进程的一个请求。只要每个请求是非阻塞的,异步工作者就可以为每个工作进程处理无限数量的请求。
gunicorn -k gevent myapp:app
Run Code Online (Sandbox Code Playgroud)
可以预见的是,您需要安装GEVENT此:pip install gevent。
| 归档时间: |
|
| 查看次数: |
2745 次 |
| 最近记录: |