我的帖子非常相似:App引擎批量加载器下载警告"__key__没有降序索引,执行串行下载"
我基本上想要做同样的事情.
基本上,我使用以下内容来下载我的一种类型的所有实例:
appcfg.py download_data --config_file=bulkloader.yaml --kind=ModelName --filename=ModelName.csv --application=MyAppid --url=http://MyAppid.appspot.com/remote_api
Run Code Online (Sandbox Code Playgroud)
如果类型的实例多于批量大小,那么我会收到此警告:
No descending index on __key__, performing serial download
Run Code Online (Sandbox Code Playgroud)
这导致我只下载大约6500个实体需要471.4秒(根据bulkloader工具完成后).这真的很慢,因为我还有其他4种甚至更大(大约15,000个实体)!
另外根据我的Mac的活动监视器,我只以大约24Kb /秒的速度下载,如bulkloader输出中的带宽所示:
[INFO ] Logging to bulkloader-log-20110514.011333
[INFO ] Throttling transfers:
[INFO ] Bandwidth: 250000 bytes/second
[INFO ] HTTP connections: 8/second
[INFO ] Entities inserted/fetched/modified: 20/second
[INFO ] Batch Size: 10
Run Code Online (Sandbox Code Playgroud)
1)如何摆脱这个警告"__key__没有下降索引,执行串行下载"以获得并行下载速度?
我认为我的问题的答案是添加降序索引.就像是:
<datastore-index kind="Game" ancestor="false" source="manual">
<property name="id" direction="desc"/>
</datastore-index>
Run Code Online (Sandbox Code Playgroud)
我尝试将其添加到datastore-indexes.xml文件中.
它已成功部署,但我查看了Google上管理门户网站上的数据存储区索引,但我没有看到它正在服务或正在构建.无论如何,为了它,我重申下面的命令,它仍然很慢......
我也尝试将相同的xml,但使用source ="auto",添加到datastore-indexes-auto.xml文件.但是,当我尝试部署我的eclipse抱怨时出现以下错误:
java.io.IOException: Error posting to URL: https://appengine.google.com/api/datastore/index/add?app_id=<My_APP_ID>&version=1&
400 …Run Code Online (Sandbox Code Playgroud)