У меня есть стандартная среда 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