Назад | Перейти на главную страницу

Как правильно управлять экземплярами стандартной среды GCP Appengine?

У меня есть стандартная среда Appengine с приложением, которое предоставляет серию сервисов REST для использования, все работает нормально, но время отклика немного велико. На ответ на первый запрос уходит около 40 секунд, после этого время отклика указывается в миллисекундах, если служба какое-то время не используется, это повторяется снова.

Я понимаю, что инициализация экземпляра вызывает задержку и что экземпляр может быть удален, если он не используется, поэтому я попытался изменить тип масштабирования, и лучшим результатом до сих пор было автоматическое масштабирование с минимумом 1 неактивного экземпляра, но проблема все еще сохраняется.

Я также запрограммировал cron-job, который постоянно вызывает службу, чтобы экземпляр не мог быть удален, не работал.

Как правильно управлять экземплярами, чтобы сервисы были доступны с малым временем отклика? Это ожидается в стандартной среде? Решается ли эта проблема переходом на гибкий стандарт?

Кажется, что ваше приложение ведет себя должным образом при получении запроса на загрузку. Это происходит из-за того, что приложение проходит инициализацию, при которой оно должно сначала загрузить все библиотеки и ресурсы, необходимые для обработки запросов пользователей.

Я думаю, что вы можете улучшить производительность своего приложения, следуя передовым методикам, изложенным здесь [1].

То, что вы упомянули о App Engine Flex, также верно. Там у вас будет всегда запущенный экземпляр.

[1] https://cloud.google.com/appengine/docs/standard/go/how-instances-are-managed#loading_requests