Сколько чтений Datastore потребляет каждая операция Fetch, Count и Query?

Я читаю на Google App Engine группы многих пользователей (Fig1, Fig2, Fig3), которые не могут понять, откуда берется большое количество чтений Datastore в их биллинговых отчетах.
Как вы, возможно, знаете, чтения из Datastore ограничены 50K операций в день, сверх этого бюджета вам придется платить.

50K операций звучит как много ресурсов, но, к сожалению, кажется, что каждая операция (Query, Entity fetch, Count...), скрывает несколько чтений Datastore.

Можно ли узнать через API или каким-то другим способом, сколько чтений Datastore скрыто за обычными вызовами RPC.get , 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')

29
задан Dan McGrath 2 September 2016 в 22:56
поделиться