2

我用自己的钥匙检索一批项目,像这样的东西取:App Engine的NDB并行通过关键

from google.appengine.ext.ndb import model 

# … 
keys = [model.Key('Card', id, namespace=ns) id in ids] 
cards = yield model.get_multi_async(keys) 

的是,在将Appstats结果是这样的:

appstats screenshot

反向瀑布的事情似乎是由并行发送密钥引起的,每个密钥都在自己的RPC中。

我的问题是,有没有办法通过单个RPC调用的键检索多个对象? (假设这会加快应用程序的整体响应时间)。

+0

您可能希望有这个.. HTTPS的读取更加高效 ://组.google.com/forum /#!msg/appengine-ndb-discuss/U7JK8my5TbA/Psdf2F7sU1MJ – lecstor

+0

@lecstor似乎将我的实体放在实体组中会(或多或少)解决问题。现在测试它... –

+1

这里没有问题需要解决 - 这样做比批量提取实体更快。 –

回答

5

在由lecstor链接的线程中引用guido response

你可以总是试图通过传递 max_entity_groups_per_rpc=Nget_multi_async()呼叫

多个并行RPCS应比单一的多键RPC更高效的发行较少的RPC。

负责人力资源开发实施工程师向我保证,这比发放单多键获取RPC

相关问题