Серьезно не работал с google app engine, но понадобился хостинг максимально надежного облачного хранилища для очень простого приложения. Тем более по расчетам я должен был вполне вписываться в бесплатные лимиты (не будет никаких проблем оплатить пару баксов в месяц, больше там не получится).
Проект примитивный:
Два объекта Datastore (один корневой с 2 полями и постоянно пополняющийся список объектов с 4 полями), одна периодически запускаемая задача, в ней открывается транзакция читается корневой объект и создается один списочный элемент (данные собираются путем одного запроса к сервису fetchurl).
Так вот в течении трех часов у меня кончаются лимиты Datastore Read Operations — 100%, при этом Datastore Write Operations — 5%
appstore dashboard:
установил штатный гугловский
appstats:
Не могу понять, откуда такое повышенное количество чтений, мало того, даже статистика appstat не показывает 50т запросов Next (я использую java.jdo, никаких перечислений, никакой работы с курсорами… единственное место где могло бы считаться чтение списока связанных объектов — при добавлении, в конструкторе списочного элемента стоит строка root.addItem(this) (а в корневом объекте Root это тупо метод this.items.add(item);
И тем более непонятно!!! Даже если считать, что на один запуск задачи приходится 19 чтений и 2 записи (кстати тоже непонятно, я заполняю четыре поля плюс ключевое) то за 3 часа (задача выполняется с частотой одна в 70 секунд) должно было быть утилизировано 154 запроса * 19 чтений = 2926! Откуда 50 тысяч запросов/
Какими еще средствами можно проконтролировать биллинг google. Ведь при таких расхождениях на порядок можно попасть на хорошую копеечку.
upd. Проблема с биллингом у google для datastore типа high replication, это явно не мой косяк, потому как сотня запросов на чтение для базы с двумя!!! записями это перебор, у меня даже в коде нет такого количества вызовов. Пересоздал и перезалил приложение в режиме Master/Slave (кстати теперь он помечен как Deprecated! хитрюги), теперь appstats показывает вразумительную информацию, по 1 или 2 запроса на вызов задачи, т.е. что и должно было бы быть, так же статистика в админке GAE показывает похожие цифры (завтра оценю нагрузку точнее)