google-app-engine - Google 应用引擎过多的小型数据存储操作

标签 google-app-engine google-cloud-datastore

我在使用 google app engine 数据存储时遇到了一些问题。自从引入新的定价模式以来,我的应用的运行成本大幅增加。

罪魁祸首似乎是“数据存储小型操作”,每天有超过 2000 万次操作!

有没有人遇到过这个问题,我认为我没有进行过多的 key 查找,而且我只有 5000 个用户,每分钟大约有 10 - 20 个请求。

提前致谢!

编辑

好的,我得到了一些统计数据,这些是大约 3 小时后的数据。这是我在我的仪表板中看到的,在计费部分: Appengine dashboard - billing

下面是一些统计数据:

Stats

显然,对 datastore.get 的调用非常多。我开始认为是我的设计导致了问题。这些获取对应于帐户。每个用户都有一个帐户,但帐户可以是两种类型之一,为此我使用组合。因此每个账户实体都有一个指向其子账户实体的链接。 结果,当我搜索附近的用户时,它涉及使用查询获取帐户,然后对每个帐户进行获取以获取其子帐户。统计图片中的最高请求是获取 100 个帐户的调用,然后必须对每个帐户进行获取。我原以为这是一个非常简单的查询,但我想不是。我仍然对我的仪表板中记录的数据存储小型操作的数量感到困惑。

最佳答案

绝对按照 Drew 的建议使用 appstats;无论您使用的是什么库,它都会告诉您处理程序正在执行的操作。最有可能的罪魁祸首是仅键查询和计数操作。

关于google-app-engine - Google 应用引擎过多的小型数据存储操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8098878/

相关文章:

java - GAE 中的集合问题

python - 以事务方式或非事务方式修改实体数据(取决于需要)

python - 如何在Python中使用NDB查询从数据存储中删除数据?

google-cloud-datastore - Go with GAE 将对象保存到数据存储区。取回时,该对象的成员为空

java - 如何在 Java 中对社交图建模

python - Google App Engine cron 作业失败并出现 404 错误

java - Spring Boot - 无法确定数据库类型 NONE 的嵌入式数据库驱动程序类

java - 想要使用嵌入式凭据访问 Google Cloud Datastore

java - 如何以编程方式更改 Google Cloud Datastore 项目的命名空间?

python - Google 数据存储区/NDB 中的重复事件