Приложение Google App Engine очень медленное - PullRequest
16 голосов
/ 06 декабря 2009

Я создал сайт Hello World в Google App Engine. Он использует Django 1.1 без патча.

Несмотря на то, что это просто очень простая веб-страница, на это уходит много времени, а часто и время ожидания.

Есть предложения, чтобы решить эту проблему?

Примечание: он реагирует быстро после первого звонка.

Ответы [ 8 ]

19 голосов
/ 16 февраля 2011

Теперь Google добавил способ оплаты «Всегда включен», который составляет 0,30 $ в день.

При использовании этой функции вашему приложению больше не требуется холодный запуск.

Всегда включен

Пока запросы на разогрев помогают масштабирование приложения плавно, они делают не поможет, если ваше приложение имеет очень низкий объем трафика. За высокоприоритетные приложения с низким трафик, вы можете зарезервировать экземпляры через Функция всегда включена в App Engine.

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

Даже после включения Always On ваш приложение может испытывать загрузку запросы, если есть внезапное увеличение в пробке.

Чтобы включить Always On, перейдите к Billing Страница настроек в вашем приложении Консоль администратора и нажмите Всегда включен Флажок.

http://code.google.com/intl/de-DE/appengine/docs/adminconsole/instances.html

14 голосов
/ 06 декабря 2009

Это ужасное предложение, но я все равно сделаю это:

Создайте небольшое клиентское приложение или просто используйте wget с cron для периодического доступа к вашему приложению, возможно, каждые 5 минут или около того. Это должно помешать Google перевести его в состояние покоя.

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

7 голосов
/ 08 декабря 2009

Подведем итог этой темы пока:

  • Холодный пуск занимает много времени
  • Google не рекомендует пинговать приложения, чтобы они оставались теплыми, но люди не знают альтернативы
  • Существует проблема, поданная для оплаты теплого экземпляра (Java)
  • Существует проблема, поданная для Python. Помимо прочего, файлы .py предварительно не скомпилированы.
  • Некоторые приложения несоразмерно затронуты (не удается найти ссылку или проблему в группах Google)
  • Мартовская ветка 2009 года о Python говорит <1с (!) </li>

Я вижу меньше разговоров о Python по этому вопросу.

4 голосов
/ 07 декабря 2009

Еще один совет, который может увеличить время отклика.

Включение биллинга действительно увеличивает квоты и, по моему личному опыту, также увеличивает общий отклик приложения. Вероятно, из-за более высокого приоритета для приложений с поддержкой биллинга Google имеет. Например, приложение с отключенным биллингом может отправлять до 5-10 электронных писем / запрос, приложение с включенным биллингом легко справляется с 200 электронными письмами / запрос.

Обязательно установите низкие уровни выставления счетов - вы никогда не узнаете, когда Slashdot, Digg или HackerNews заметят ваш сайт:)

4 голосов
/ 06 декабря 2009

Если он быстро отвечает после первого запроса, возможно, это всего лишь случай запуска и запуска соответствующего процесса. По общему признанию это немного удивительно, что это занимает так много времени, что это истекает. Это после того, как вы обновили приложение и убедились, что на панели мониторинга AppEngine оно отображается как готовое?

«Замедление первого попадания» довольно часто встречается во многих веб-фреймворках. Это немного болезненно во время разработки, но не проблема для производства.

3 голосов
/ 26 мая 2010

Я использовал pingdom по понятным причинам - никакой холодный старт не является бонусом. Конечно, клиенты скоро приедут, и это будет не проблема

3 голосов
/ 06 декабря 2009

Я сталкиваюсь с тем же с приложением на основе пилонов. Я имею исходный сервер страниц как статический, и у меня есть фиктивный вызов ajax, чтобы запустить приложение, прежде чем пользователь введет учетные данные. Обычно этого достаточно, чтобы избежать длительного ответа ... Просто идея, которую вы могли бы использовать, прежде чем у вас появится миллион пользователей;).

1 голос
/ 24 мая 2014

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...