Этот вопрос является продолжением этого вопроса Я задавал ранее.
Как вы, ребята, тестируете свой проект на dev-сервере, если вам нужно иметь несколько объектов в Datastore?
Тот факт, что GAE SDK для Java хранит Datastore в памяти, просто убивает меня.Я не могу создать надежный код, если не могу проверить его на своей машине.Интересно, как другие инженеры справляются с этим.
В настоящее время я должен предварительно загрузить данные в сервлет внутреннего экземпляра из файла .bin
, который я помещаю в WEB-INF\
.
Затем я тестирую некоторый код в DeferredTask .Следующая строка кода (с использованием Objectify)
List<AnonAnswer> answers = dao.ofy().query(AnonAnswer.class).ancestor(visitor).list();
занимает 1,5 секунд для запуска, где AnonAnswer
так же просто, как
public class AnonAnswer extends Answer implements Serializable {
@Parent Key<Visitor> parent;
public AnonAnswer() {
}
public Key<Visitor> getParent() {
return parent;
}
public void setParent(Key<Visitor> parent) {
this.parent = parent;
}
}
и у меня 2K Visitorи ~ 60K AnonAnswer объектов.local_db.bin
это всего лишь 49 МБ.Почему это медленно?Он работает мгновенно (как я и ожидал) в производстве (~ 3 млн. Посетителей на данный момент).
Я готов потратить некоторое время и написать что-то вроде gae-sqlite , но я надеваюнет доступа к записи файла в Java-версии GAE SDK.Я не знаю, почему это работает в версии Python.
Я застрял.Есть предложения?