Как Google Appengine измеряет операции хранения данных в хранилище данных - PullRequest
9 голосов
/ 06 сентября 2011

В связи с изменениями цен на устройства мы обращаем внимание на наши хранилища данных. Согласно графику сравнения цен, мы делаем 2,18 миллиона ставок в день. Это кажется намного выше, чем ожидалось. Мы получаем около 0,6 запросов в секунду, что означает, что каждый запрос делает около 60 пут !!

Использование примера кода для профилирования БД http://code.google.com/appengine/articles/hooks.html мы измерили это за день, и самое большее, что мы посчитали, было ~ 14 000, что кажется более разумным У кого-нибудь есть опыт с чем-то похожим на их сайте?

1 Ответ

13 голосов
/ 07 сентября 2011

Расхождение, которое вы видите, заключается в том, что каждая запись индекса учитывается отдельно. Когда вы размещаете хранилище данных, с вас взимается плата за количество строк, которые необходимо изменить, поэтому, если вы изменили одно индексированное поле, вы ожидаете, что с вас будет взиматься плата:

  • Одна запись для самой сущности
  • Две записи для восходящего индекса для измененного свойства
  • Две записи для нисходящего индекса для измененного свойства

Всего 5 записей. Как видите, установка свойств на indexed=False может сильно повлиять на использование вами квоты.

...