[Google Cloud-数据存储区与本地计算机相比太慢

问题描述 投票:0回答:1

我们正在将Google App Engine与Datastore和Objectify结合使用。在我们的本地计算机中,执行查询需要1秒,而在云中则需要大约20秒。服务器位置在欧洲西部,我在西班牙,所以我认为这不是问题。

我们正在执行的查询仅使用1个过滤器来检索数据:

final CityEntity cityEntity = new CityEntity();
cityEntity.setId(1);
ofy().load().type(Person.class).filter("city =", cityEntity).list();
java google-app-engine google-cloud-platform google-cloud-datastore objectify
1个回答
0
投票

在数据存储区中,查询根据结果集的大小进行缩放。这个城市有多少人?如果很大,查询不仅会很慢,还会很快达到RAM的极限。

根据您要尝试执行的操作,您可能需要采用其他方法。例如,您可以执行仅键查询,将结果转换为任务,并为每个人排队一个任务。在您达到任务/任务的1000万截止日期之前,这可能多达数十万,甚至数百万。对于较大数量,您可能需要某种形式的map / reduce。

© www.soinside.com 2019 - 2024. All rights reserved.