(我正在学习Cloud,承认这与开发或代码无关,但希望一些GCP工程师能够澄清这一点)
我有一个PY应用程序在运行现在只有PoC,这就是最小配置的原因。
cloud run deploy有以下标志:
--max-instances 1
--concurrency 5
--memory 128Mi
--platform managedguniccorn_cfg.py文件具有以下配置:
workers=1
worker_class="gthread"
threads=3我想知道:
1) max-instances ::如果我要调整这一点,这是否意味着在需要时提供一台新的物理服务器机器?或者,服务是否通过提取容器映像并简单地在同一台物理服务器机器上启动一个新的容器实例(docker run ...)来实现这一点,从而有效地与其他容器实例共享相同的物理机器?
2) concurrency ::一个正在运行的容器实例是否接收多个并发请求(由3个运行的容器实例为ex处理的5个并发请求)?或者每个并发请求是否触发启动新容器实例(docker run ...)?
3)最后,通过调整concurrency的thread设置,可以有效地达到thread>5吗?为了前夫。在这种情况下5x3=15 ..。为了前夫。15个并发请求由3个正在运行的容器实例为ex?如果是这样的话,那么调整thread与调整云运行concurrency有什么利弊吗?
附加信息:-这是一个IO密集型应用程序(不是CPU密集型应用程序)。简单地抓取HTTP请求并发布到pubsub/sub
非常感谢
发布于 2020-04-26 19:08:09
首先,在Stackoverflow上问“鸡尾酒问题”是不合适的,因为你一次问5件事。请在以后的时间限制在一个问题上。
--max-instances限制了允许应用程序扩展的“容器实例的数量”。如果有人恶意地向你的应用程序发送太多请求,这是为了防止出现巨额账单。--concurrency=10,您的容器一次最多可以被路由为有10个正在运行的请求。所以,确保你的应用程序一次能处理10个请求。--concurrency设置是为了确保您在任何时候都不会收到对一个容器实例的超过5个请求。在询问之前,我还建议您更彻底地阅读该办公室的文档,或许还建议您阅读一下云运行-常见问题解答,它几乎回答了所有这些问题。
https://stackoverflow.com/questions/61435056
复制相似问题