我有一个用 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/