google-app-engine - Google appengine,运行繁重的数据存储写入cron作业的最便宜的方式?

标签 google-app-engine go cron

我有一个用 Go 编写的 Google appengine 应用程序,它有一个每天凌晨 3 点运行一次的 cron 进程。这个过程会查看当天我的数据发生的所有变化,并存储一些关于发生的事情的元数据。我的用户可以运行有关此元数据的报告,以查看几个月内发生的趋势。该进程每晚执行大约 10-20 百万次数据存储写入。一切正常,但自从我开始运行它后,我注意到我每月从 Google 支付的账单显着增加(从每月 50 美元左右增加到每月 400 美元左右)。

我刚刚设置了一个运行它的非常基本的任务队列,我根本没有更改默认设置。有没有更好的方法可以让我在晚上运行这个过程来省钱?我从来没有弄乱过后端(现在已经折旧)或模块 api,而且我知道他们最近更改了很多这些东西,所以我不确定从哪里开始寻找。任何建议将不胜感激。

最佳答案

在凌晨 3 点查看您的实例。可能是 GAE 派出了很多人来处理这项工作。您可以配置您的作业以使其运行较少的并行,因此它会花费更长的时间,但也许它只需要 1 个实例。 但是,如果您的数据库写入确实是最大的因素,那么这不会产生很大的影响。

您可以尝试查看您的数据模型和索引。请记住,每个索引字段都需要额外写入 2 次,因此如果不需要,请查看是否可以从某些字段中删除索引。

关于google-app-engine - Google appengine,运行繁重的数据存储写入cron作业的最便宜的方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28095329/

相关文章:

ios - 为 iOS 端点生成的发现文件失败

go - 如何在 BigQuery 中创建包含非必填字段的表?

string - 计算golang字符串中的字符

java - 每小时安排一次作业,每次 50 到 60 分钟一次

Java + Google Web Toolkit(谷歌应用引擎)从服务器下载文件

java - 如何使用 Java 在 GAE 中设置环境变量 - 不在主代码中公开?或其他隐藏应用程序使用的 key 的方法?

maven - 如何确定 docker exec 中的命令何时完成

python - 如果失败,几天后重新运行 python 脚本

macos - 仅当应用程序从 cron 的打开命令打开时处理证书时应用程序出现不合理的系统错误

android - 在 Android 上创建照片共享应用程序