Google cloud platform 如何估算谷歌云的运行成本?

Google cloud platform 如何估算谷歌云的运行成本?,google-cloud-platform,google-cloud-run,Google Cloud Platform,Google Cloud Run,我已经建立了我的机器学习模型,现在作为下一步,我希望将其公开。该计划是: 使用Streamlit构建用户界面 使用Docker映像打包应用程序 将Docker映像部署到Google云运行环境中 在Google云运行环境中启动Docker容器 但问题是,我无法估计在Google Cloud Run中启动和运行容器的成本(我还是个初学者)。如何估计最坏情况,即应产生的最大成本是多少?中有CPU、内存、请求和网络属性,但: 我如何确切地知道我的应用程序将占用多少资源 如果该应用程序是公开的,并且

我已经建立了我的机器学习模型,现在作为下一步,我希望将其公开。该计划是:

  • 使用Streamlit构建用户界面
  • 使用Docker映像打包应用程序
  • 将Docker映像部署到Google云运行环境中
  • 在Google云运行环境中启动Docker容器
但问题是,我无法估计在Google Cloud Run中启动和运行容器的成本(我还是个初学者)。如何估计最坏情况,即应产生的最大成本是多少?中有CPU、内存、请求和网络属性,但:

  • 我如何确切地知道我的应用程序将占用多少资源
  • 如果该应用程序是公开的,并且请求超过了自由限制配额,我可能会收到天文数字的账单
  • 我可以设定一些我的账单不能超过的限额吗

计费非常简单:您支付分配的CPU时间和内存时间(以及一点点请求数)

当前最糟糕的情况是:(每秒每个实例的NbCpu+每个实例每秒的内存)*3600*24*30*1000

  • 3600将在一小时内转换为秒
  • 24小时转换为一天中的一小时
  • 每月30天转换一天
  • 1000默认的“最大实例数”参数
如果你想限制成本。但也会限制应用程序的可伸缩性。但这阻止你有天文数字的账单,这是一个权衡的问题

关于账单,你也可以

关于应用程序使用的资源数量的最后一个问题。很难说!但是,您必须了解您的应用程序。度量图可以帮助您提供一些输入

然而,Cloud Run能够。因此,当您一次只处理一个请求时,您的度量可能会随着80个请求而发生显著变化!特别是在内存消耗方面

您还可以使用这个并发参数来限制一个实例的大小。但是如果你减少它,不要将max-instance参数设置得太低,否则一些请求将无法得到满足


权衡问题

这似乎不是编程问题,也不适合堆栈溢出。不过,我不确定是否可以在另一个Stack Exchange站点上询问此问题。如果您找到一个,请确保阅读他们的文档类似于堆栈溢出的,据说第一个180000 vCPU秒是免费的。但是触发秒计算的事件是什么?这是否仅由用户在调用已部署服务时发出的请求触发?或者是否还包括各种服务配置(即部署Docker映像、启动容器等)?如果最坏的情况公式是(NbCpu/实例/秒+内存/实例/秒)*3600*24*30*1000,那么我知道每月的最大秒数是多少。但我如何知道应用程序每秒(和每个实例)需要多少CPU/内存呢?在Cloud Run中,您的实例只有在处理请求(来自用户、调度器、其他服务,这无关紧要)时才处于活动状态。如果没有任何请求,您的系统将不会计费,CPU将被限制在接近0%的范围内。因此,在没有处理请求的情况下,您无需支付任何费用,而且它对Google来说“不花费”任何费用,因为您不消耗CPU(并且它可以被其他服务使用)。因此,最后,如果你知道你的请求处理时间和请求数量,你就知道你的账单。@guillaumeblaquiere,关于“你支付你所消耗的CPU时间和内存时间”-我认为“消耗”在这个上下文中不是一个合适的措辞,我猜你的意思是“分配”或“保留”。你能修好吗?@Ruslan,修好了。感谢您帮助改进措辞