首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >云运行Qs ::max-实例+并发+线程(gunicorn线程)

云运行Qs ::max-实例+并发+线程(gunicorn线程)
EN

Stack Overflow用户
提问于 2020-04-26 02:18:49
回答 1查看 1.9K关注 0票数 2

(我正在学习Cloud,承认这与开发或代码无关,但希望一些GCP工程师能够澄清这一点)

我有一个PY应用程序在运行现在只有PoC,这就是最小配置的原因。

cloud run deploy有以下标志:

代码语言:javascript
复制
--max-instances 1
--concurrency 5
--memory 128Mi
--platform managed

guniccorn_cfg.py文件具有以下配置:

代码语言:javascript
复制
workers=1
worker_class="gthread"
threads=3

我想知道:

1) max-instances ::如果我要调整这一点,这是否意味着在需要时提供一台新的物理服务器机器?或者,服务是否通过提取容器映像并简单地在同一台物理服务器机器上启动一个新的容器实例(docker run ...)来实现这一点,从而有效地与其他容器实例共享相同的物理机器?

2) concurrency ::一个正在运行的容器实例是否接收多个并发请求(由3个运行的容器实例为ex处理的5个并发请求)?或者每个并发请求是否触发启动新容器实例(docker run ...)?

3)最后,通过调整concurrencythread设置,可以有效地达到thread>5吗?为了前夫。在这种情况下5x3=15 ..。为了前夫。15个并发请求由3个正在运行的容器实例为ex?如果是这样的话,那么调整thread与调整云运行concurrency有什么利弊吗?

附加信息:-这是一个IO密集型应用程序(不是CPU密集型应用程序)。简单地抓取HTTP请求并发布到pubsub/sub

非常感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-26 19:08:09

首先,在Stackoverflow上问“鸡尾酒问题”是不合适的,因为你一次问5件事。请在以后的时间限制在一个问题上。

  1. 您不应该担心容器在哪里运行(物理机器、VM、.)。--max-instances限制了允许应用程序扩展的“容器实例的数量”。如果有人恶意地向你的应用程序发送太多请求,这是为了防止出现巨额账单。
  2. 这在https://cloud.google.com/run/docs/about-concurrency上有记录。如果您指定了--concurrency=10,您的容器一次最多可以被路由为有10个正在运行的请求。所以,确保你的应用程序一次能处理10个请求。
  3. 是的,阅读Gunicorn文档。测试你的设置“本地”是否允许火鸟同时处理5个请求.云运行的--concurrency设置是为了确保您在任何时候都不会收到对一个容器实例的超过5个请求。

在询问之前,我还建议您更彻底地阅读该办公室的文档,或许还建议您阅读一下云运行-常见问题解答,它几乎回答了所有这些问题。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61435056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档