Google Cloud - хранилище данных слишком медленное по сравнению с локальной машиной - PullRequest
0 голосов
/ 05 февраля 2020

Мы используем Google App Engine с Datastore и Objectify. На нашем локальном компьютере запрос занимает 1 секунду, а в облаке - около 20 секунд. Расположение сервера находится на западе Европы, а я нахожусь в Испании, поэтому я не думаю, что это проблема.

Запрос, который мы выполняем, - это просто получение данных только с одним фильтром:

final CityEntity cityEntity = new CityEntity();
cityEntity.setId(1);
ofy().load().type(Person.class).filter("city =", cityEntity).list();

1 Ответ

0 голосов
/ 05 февраля 2020

В хранилище данных запросы масштабируются с размером набора результатов. Сколько людей в городе? Если размер большой, запрос будет не только медленным, вы быстро достигнете пределов оперативной памяти.

В зависимости от того, что вы пытаетесь сделать, вам может потребоваться другой подход. Например, вы можете выполнить запрос только по ключам, преобразовать результат в задачи и поставить задачу в очередь для каждого человека. Это, вероятно, сработает до сотен тысяч, а может и до миллионов, прежде чем вы достигнете 10-месячного срока выполнения задачи / хрон. Для больших количеств вы, вероятно, хотите какую-то форму карты / уменьшить.

...