Datastore обычно занимает от низкого до середины десятков миллисекунд, а получение memcache обычно составляет от одного до двух миллисекунд. Итак, если это все, что вы собираетесь использовать и игнорируете собственное время HTTP-запроса, вы можете туда добраться.
Однако App Engine иногда делает запрос на загрузку, когда ему нужно масштабировать и показывает следующее сообщение:
Этот запрос вызвал новый процесс быть запущен для вашего приложения, и, таким образом, вызванное кодом приложения загружаться в первый раз. Этот запрос может потребовать больше времени и использовать больше CPU, чем типичный запрос для вашего приложения.
.
Что такое запрос на загрузку?
Некоторые запросы выполняются медленнее, потому что App Engine необходимо создать новую виртуальную машину Java (JVM) для обслуживания запроса. Такого рода запрос - - запрос на загрузку. Во время запроса на загрузку ваша заявка подвергается инициализации (например, загрузка классов, компиляция JIT и т. Д.) , что заставляет запрос занимать больше времени.
Запросы имеют приблизительно 60-секундный срок, который включает в себя инициализацию и любые дополнительные работы, которые необходимо выполнить вашему приложению при запуске. Если ваше приложение превышает этот предел, возвращается DeadlineExceededException.
Вы можете найти эти типы запросов в журналах запроса путем фильтрации на loading_request = 1
Это будет происходить только при масштабировании, так что если у вас есть постоянный трафик, и вы можете позволить, что происходит время от времени, вы хороши.
Фактически вы можете обойти эту проблему, если пустые резервные экземпляры уже развернуты. Когда они используются, новые «реальные» экземпляры развернуты, и резервные экземпляры сливаются, готовые к следующему пакету. –
У меня были хорошие результаты с Python и Java с точки зрения задержки, но найти латентность загрузки на Java может быть проблематичным. Вы _may_ find Go дают более низкую задержку, чем Python, за счет менее зрелого API. Возможно, вам захочется прототипировать что-то и использовать [Cloud Trace] (https://cloud.google.com/tools/cloud-trace), чтобы увидеть разбивку RPC (например, Memcache, Datastore). – tx802