私は Google App Engine グループで多くのユーザー ( Fig1、Fig2、Fig3 ) を読んでいますが、請求レポートで大量のデータストア読み取りがどこから来たのかを理解できません。
ご存知かもしれませんが、Datastore の読み取りは 1 日あたり 5 万回の操作に制限されており、この予算を超えると支払う必要があります。
50,000 の操作は大量のリソースのように聞こえますが、残念なことに、各操作 (クエリ、エンティティ フェッチ、カウントなど) がいくつかのデータストアの読み取りを隠しているようです。
RPC.get
API またはその他のアプローチを介して、共通の ,RPC.runquery
呼び出し の背後に隠されているデータストア読み取りの数を知ることは可能ですか?
この場合、appstatsは RPC の詳細のみを提供し、非表示の読み取りコストは提供しないため、役に立たないようです。
このような単純なモデルを持つ:
class Example(db.Model):
foo = db.StringProperty()
bars= db.ListProperty(str)
データストアに1000 個のエンティティがある場合、これらの種類の操作のコストに興味があります。
items_count = Example.all(keys_only = True).filter('bars=','spam').count()
items_count = Example.all().count(10000)
items = Example.all().fetch(10000)
items = Example.all().filter('bars=','spam').filter('bars=','fu').fetch(10000)
items = Example.all().fetch(10000, offset=500)
items = Example.all().filter('foo>=', filtr).filter('foo<', filtr+ u'\ufffd')