始终分配 CPU 的云运行比仅在请求处理期间分配要便宜。怎么办?

问题描述 投票:0回答:3

我在应用程序中使用 Cloud Run,并尝试使用 GCP 定价计算器来预测成本。我不明白为什么总是分配 CPU 比在请求处理期间分配 CPU 更便宜,因为它说“当您选择“始终分配 CPU”时,您需要为容器实例的整个生命周期付费”。

有什么解释吗?

谢谢!

google-cloud-platform google-cloud-run
3个回答
2
投票

Cloud Run 默认情况下是无服务器的:即用即付。当请求到来时,会创建一个实例(并启动,称为冷启动)并处理您的请求。计时器启动。当您的网络服务器发送答案时,计时器停止。

您需要为请求处理期间使用的内存和 CPU 付费,四舍五入到上限 100 毫秒。实例继续存活约 15 分钟(默认情况下,可以随时更改)以准备好处理另一个请求,而无需启动另一个请求(并再次等待冷启动)。

如您所见,即使您不再为其付费,实例也会继续存在。因为您仅在处理请求时付费。


当您将 CPU 设置为始终开启时,您需要为实例运行的全部时间付费。无论请求处理与否。 Google 不必为正在运行但未使用的实例付费,而是按照按使用付费模式等待请求。您为此付出了代价,而且您付出的更少

它就像一个全职的计算引擎。作为计算引擎,您可以获得类似于持续使用的折扣的东西。所以比较便宜。


2
投票

一般来说这取决于你如何使用云跑。谷歌在这里给出了一些提示:https://cloud.google.com/run/docs/configuring/cpu-allocation

总结最大的定价差异:

CPU 仅在请求处理期间分配

您支付的费用为:

  • 每个请求都基于每个请求
  • 请求期间的cpu和内存分配时间
CPU 始终分配

你付钱

  • 实例活动时以更便宜的价格分配 CPU 和内存

在此处比较定价:https://cloud.google.com/run/pricing

因此,如果您有很多请求,但不使用大量资源且差异不大,那么“始终分配”可能会便宜很多。


0
投票

有时,“CPU 始终分配”实际上可能比“请求处理期间分配”更便宜,因为您的使用量属于 “承诺使用折扣”。 详细信息如下: 承诺使用折扣|云跑文档

顺便说一句,它特定于 us-central1 区域。您可以通过在定价计算器中选择不同的区域来查看定价变化。

© www.soinside.com 2019 - 2024. All rights reserved.