App Engine ndb按键并行获取

Att*_* O. 2 google-app-engine app-engine-ndb google-cloud-datastore

我正在使用他们的密钥检索一批项目,如下所示:

from google.appengine.ext.ndb import model

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

在appstats中的结果是这样的:

appstats截图

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

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

pro*_*ppy 5

在由lecstor链接的线程中引用guido 响应.

您可以通过传递max_entity_groups_per_rpc=Nget_multi_async()呼叫来尝试发出更少的RPC

多个并行rpcs应该比单个多键RPC更有效.

负责HRD实施的工程师向我保证,这比发布单个多密钥Get RPC更有效