如何最好地减少数据存储区使用的CPU时间

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时间?

Tra*_*ebb 6

~2k cpu_ms看起来很对.您将看到46k apicpu_ms,因为数据存储区只能写入最大值.每秒10个实体(由api管理),并且您正在编写450多个实体,因此450+/10大约是46k cpu_ms.

api使用并不在您的配额的底线直接算,仅real〜2K会.所以不要担心,你很好.