Dev_appserver.py в AppEngine очень медленно разогревается - PullRequest
0 голосов
/ 06 января 2019

Я обновил AppEngine на своем Mac (давно не делал). dev_appserver раньше запускался почти мгновенно (у меня очень маленький сайт), но теперь это занимает 30 секунд. После первого запуска снова будет быстро, если я выключу и включу. Но если я переключаюсь на другой проект и возвращаюсь к первому, он действительно медленный.

Я запустил его с --log_level=debug, но он ничего не печатает, пока висит. Есть идеи, что происходит? С какой радостью работать стало кошмаром. Дайте мне знать, если вам нужна дополнительная информация (у меня есть веб-приложение на Python, в основном обслуживающее статические файлы)

1 Ответ

0 голосов
/ 07 января 2019

Когда dev_appserver запускается в первый раз, развертывается новый экземпляр, это занимает немного времени из-за всех необходимых настроек и конфигураций. Это время известно как холодная перезагрузка.

Теперь, когда вы «переключаетесь на другой проект и возвращаетесь к первому», этот процесс повторяется, таким образом, выполняется повторная загрузка.

Тем не менее, 30 секунд швы слишком много. Если вы недавно обновили свое приложение, вы можете проверить импортированные библиотеки, если одна из них загружается слишком долго. Вы также можете прочитать этот пост в блоге Рекомендации по запуску App Engine , в котором говорится:

В большинстве случаев стандартное приложение импортирует несколько модулей должно иметь незначительное влияние на производительность. Однако когда сторонние библиотеки становятся достаточно большими, мы начинаем видеть их странными вещи с семантикой импорта, которые могут испортить время загрузки значительно.

Если вам нужно повысить производительность, вы можете попробовать , используя разогревающие запросы :

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

ОБНОВЛЕНИЕ: Кажется, есть проблема с dev_appserver, которая влияет на его функциональность в версии 219.0.1. Как упоминалось в системе отслеживания проблем: 117145272 :

Оказывается, недавнее изменение в dev_appserver (выпущено с Cloud SDK 219) замедляет время запуска, но только при использовании dev_appserver с pydevd в режиме отладки

Рекомендуется обновить SDK до версии 220 и установить grpcio с pip install grpcio

Кроме того, в качестве другого обходного пути можно понизить версию SDK до 228 с помощью этой команды:

gcloud components update --version 218.0.0

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

...