Никакой разминки перед обслуживанием запросов в GAE

Почему AppEngine обслуживает мои запросы, используя холодные динамические экземпляры, без предварительного прогрева?

У меня есть веб-приложение, использующее Spring Security и Spring MVC, поэтому инициализация контекстов занимает много времени, около 70-х для обоих. Поэтому я разделил init на две фазы, где запрос на разминку только инициализирует контекст моего приложения (безопасность), а сервлет Spring Dispatcher инициируется при следующем запросе. Это держит время ниже максимума 60-х годов.

Теперь, в моей производственной среде, по какой-то причине клиентские запросы не обслуживаются ни одним из двух резидентных (незанятых) экземпляров, а вместо этого обрабатываются новым холодным экземпляром. Затем этот экземпляр должен инициализировать безопасность, диспетчерский сервлет и обработать запрос, и это прерывается через 60 с.

Минимальная задержка ожидания составляет 500 мс, а максимальная - 15 с, чтобы избежать как можно большего использования холодных экземпляров, однако это происходит без значительной нагрузки.

0 ответов

Другие вопросы по тегам