Как я могу ускорить загрузчик App Engine?

Я пытаюсь использовать загрузчик App Engine для загрузки сущностей из хранилища данных (с высокой степенью репликации, если это имеет значение). Это работает, но довольно медленно (85 КБ / с). Есть ли какой-то волшебный набор параметров, которые я могу передать, чтобы сделать это быстрее? Я получаю около 5 МБ / мин или 20000 записей / мин, и учитывая, что мое соединение может работать со скоростью 1 МБ / с (и, надеюсь, App Engine может работать быстрее, чем это), должен быть способ сделать это быстрее.

Вот моя текущая команда. Я пробовал большие числа, низкие числа и каждую перестановку:

appcfg.py download_data 
--application=xxx 
--url=http://xxx.appspot.com/_ah/remote_api 
--filename=backup.csv 
--rps_limit=30000 
--bandwidth_limit=100000000 
--batch_size=500 
--http_limit=32
--num_threads=30 
--config_file=bulkloader.yaml 
--kind=foo

Я уже пробовал эту производительность App Engine Bulk Loader, и она не быстрее, чем у меня уже есть. Число, которое он упоминает, соответствует тому, что я вижу.

Заранее спасибо.

1 ответ

Решение

Вы установили индекс ключа сущности, которую вы пытаетесь загрузить?
Я не знаю, помогает ли это, но проверьте, появляется ли в начале загрузки предупреждение, которое говорит о "использовании последовательной загрузки"

Поместите это в index.yaml, чтобы создать индекс для загрузки ключа сущности, и дождитесь его создания.

- kind: YOUR_ENTITY_TYPE
  properties:
  - name: __key__
    direction: desc
Другие вопросы по тегам