Mar*_*tin 2 optimization google-app-engine datastore
我有一个cron作业,我每三分钟运行一次,从远程API中提取一些数据,然后将其存储在我的本地数据存储区中.但是,这会在数据存储区放置操作中占用大量CPU时间.我怀疑我可能正在做一些非常愚蠢的事情,可以进行大量优化:
result = urllib2.urlopen(url).read()
foos = json.loads(result)['foo']
bars = json.loads(result)['bar']
models = []
for foo in foos:
d = FooContainer()
d.Property = foo.Value #in real code, this is setting a load of values based off foo
models.append(d)
for bar in bars:
d = BarContainer()
d.Property = bar.Value #in real code, this is setting a load of properties based off bar
models.append(d)
db.put(models)
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我将每个数据存储在本地数据存储表中作为新的"行"存储.是否有一些技术可以用来减少这个cron作业使用的巨大数据存储CPU时间?
~2k cpu_ms看起来很对.您将看到46k apicpu_ms,因为数据存储区只能写入最大值.每秒10个实体(由api管理),并且您正在编写450多个实体,因此450+/10大约是46k cpu_ms.
的api使用并不在您的配额的底线直接算,仅real〜2K会.所以不要担心,你很好.
| 归档时间: |
|
| 查看次数: |
534 次 |
| 最近记录: |