当前位置: 首页 > 知识库问答 >
问题:

谷歌应用引擎:不可预测的成本,以及应用引擎仪表板和账单导出之间的差异

虞裕
2023-03-14

我已经为一个小型数据科学Web应用程序探索了2周的App Engine设置。由于这是一个个人项目,我自己的钱包账单,我尝试了几个不同的参数app.yaml,以降低"前端实例"的成本。几个变化中,我得到了意想不到的~10倍的成本激增!!!太痛苦了!!!为了不浪费它,我决定在这里学习一些东西来理解行为:)...别担心,我已经暂时关闭了我的应用程序;)

版本1app.yaml:

service: my-app
runtime: python37
instance_class: F4
env: standard
automatic_scaling:
  min_idle_instances: 1
  max_idle_instances: 1
default_expiration: "1m"

inbound_services:
- warmup

entrypoint: gunicorn -b 0.0.0.0:8080 main:server

第1版,计费结果(usage.amount_in_pricing_units从计费帐户导出):~100小时/天,与从App Engine计费状态显示的前端实例小时数相同。这是可以理解的,因为我有一个F4实例一直处于空闲状态,这将转化为24*4=96个前端实例小时。从实际请求(仅限我)中添加实例使用量,~100小时/天似乎是合理的。

版本2,我打算降低实例类和实例数,并延长默认的_过期时间,希望它能帮助应用程序更快启动,以及一些我认为不会产生太大影响的其他东西。。。。

service: my-app
runtime: python37
instance_class: F2
env: standard
automatic_scaling:
  min_instances: 1
  max_instances: 1
  target_cpu_utilization: 0.85
  max_concurrent_requests: 80
  max_pending_latency: 6s
default_expiration: "3h"

inbound_services:
- warmup

entrypoint: gunicorn -b 0.0.0.0:8080 main:server

第二版,计费结果(usage.amount\u in\u pricing\u unitsexported from billing account):~800小时/天,哎哟!!!相比之下,来自App Engine dashboard计费状态的前端实例小时数小于预期的60小时/天。这就是我迷路的地方:

>

  • 为什么计费的使用量比App Engine Dashboard大得多这些使用量来自哪里?

    在哪里可以找到和跟踪那些不明用途的指标在App Engine Dashboard等?


  • 共有1个答案

    樊杰
    2023-03-14

    2020-01-16问题#1的解决方案

    当我在等待谷歌账单支持回来给我,我发现了这个:谷歌应用引擎灵活环境的定价,一个500美元的教训

    也就是说,过去部署的应用程序版本也占用了前端实例时间,这需要现实世界的确认。(让我惊讶的是,这与app.yaml文件无关!!)所以我删除了该应用的所有以前版本,让它运行两天,同时观察以下应用的实例小时数和账单记录。yaml文件。

    service: my-app
    runtime: python37
    instance_class: F2
    env: standard
    automatic_scaling:
      min_instances: 1
      max_instances: 2
      max_idle_instances: 1
      target_cpu_utilization: 0.85
      max_concurrent_requests: 80
      max_pending_latency: 6s
    default_expiration: "1m"
    
    inbound_services:
    - warmup
    
    entrypoint: gunicorn -b 0.0.0.0:8080 main:server 
    

    这应该总是有一个F2实例在运行,最多2个实例。这一次,应用程序引擎和导出的计费使用小时数都约定为50小时前端实例小时数。对每日费用降低到1/16。

    这解决了成本问题#1,但#2仍有待回答。应用引擎仪表板没有显示前端实例的所有计费使用情况,这是非常有问题的。昨天我从谷歌计费支持团队那里听说,答案没有帮助(主要是谈论app.yaml中的实例号,这没有帮助),他们似乎忘记了这个问题,我必须让他们知道。

    2020年1月31日问题的后续行动#2。

    谷歌账单支持团队迅速做出回应,承认应用引擎仪表板和账单导出之间存在差异,并同意为我调整账单。事实上,在尖峰时期的账单因此得到了退款。感谢他们!

     类似资料:
    • 我是谷歌应用引擎服务的新手。我有一个JavaMaven项目,其中一个模块运行在应用引擎flex上,另一个模块运行在应用引擎标准上。我正在为应用引擎Flex API使用JWT身份验证。我想从应用引擎标准向应用引擎Flex发出发布请求。验证服务的最佳方式应该是什么? 此外,我还有一个cron服务,它可以访问我用于某些后端内容的特定URL。如何验证请求是否仅来自Cron服务?

    • 具体到基于Docker的部署,这两者之间有什么区别?由于Google App Engine Flexible现在也支持基于Dockerfile的部署,而且它也是完全管理的服务,所以它似乎比在Container Engine上配置Kubernetes部署更可取,不是吗? 有哪些用例更倾向于使用Google容器引擎而不是灵活的应用引擎?

    • 问题内容: 我正在按照http://googcloudlabs.appspot.com/教程创建新的Google App Engine项目。当我尝试从本地主机运行时,却按如下所述抛出错误,但是当我将其部署正常时。(http://mynewcloudcom.appspot.com/)。请帮忙。 Eclipse控制台 问题答案: 找到了答案。我需要在JDK1.6中运行。一旦我更改了Java编译器(右键

    • 我想知道我是否需要Google java客户端库才能从GAE访问我的Google日历。默认情况下,它们是Google App Engine SDK的一部分吗? 此外,我找不到一个很好的示例或教程来展示如何从Google Cloud Platform应用程序创建、读取、更新和删除Google日历事件。 非常感谢,如果您可以提供相同的代码示例或链接到适当的工作教程。

    • 我正在app engine上构建一个web应用程序。在我的例子中,这是建立在django Nonl的基础上的,但关键是它使用的是谷歌的数据存储。 我喜欢这样一个事实,即我不需要处理复制、分片、备份等,但有一件事总是妨碍我,那就是最终的一致性,这似乎妨碍了实现一个通用的Web应用程序模式,我称之为“添加 假设我有一个项目管理应用程序。项目是它的中心模型。现在有一个网页页面,我可以在其中看到所有项目的

    • 是否有人有链接或可以提供Java谷歌应用程序引擎项目的代码,该项目只是与谷歌日历交互。假设从日历中获取活动。 Google Sample calendar-app engine-Sample在从HG检出后无法编译,我曾尝试搜索教程并创建自己的教程,只是运气好而已。 我已经设置了一个 API 访问项目来获取客户端机密.json。