2015-04-10 1 views
0

Наше приложение Google App Engine работает очень медленно, и я пытаюсь решить эту проблему, выполнив действия, найденные здесь:Попытка исправить проблемы с производительностью Google App Engine - вопросы расширения экземпляра класса

https://cloud.google.com/appengine/docs/adminconsole/performancesettings

Сообщается, что для настройки класса экземпляра интерфейса можно изменить файл настроек. Я считаю, что файл, о котором идет речь в нашем приложении, - app.yaml, хотя я не уверен. Я попытался добавить несколько новых настроек app.yaml:

application: app 
version: 2-01 
runtime: python27 
### Lines I added ### 
instance_class: B8 
basic_scaling: 
    max_instances: 11 
    idle_timeout: 10m 
### END lines added ### 
api_version: 1 
threadsafe: false 

Но когда я пытаюсь развернуть с этими изменениями он дает эту ошибку:

Ошибка 400: --- начать выходной сервер --- В настоящее время ваше приложение имеет настраиваемые параметры производительности, которые несовместимы с функцией модулей. Вы должны либо очистить, либо перенести эти параметры уровня приложения, прежде чем вы сможете загрузить модуль, отличный от стандартного. Дополнительную информацию см. В разделе «Производительность» на странице «Параметры приложения» консоли администратора. --- конец вывода сервера ---

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

ответ

2

Я не совсем уверен, что вы пытаетесь настроить здесь. Вы установили экземпляр класса B8 для интерфейсных экземпляров, который не является допустимой конфигурацией для экземпляров переднего конца.

Перед тем, как вслепую внести изменения, вам нужно задать себе несколько вопросов. Является ли ваше приложение «медленным» из-за плохого дизайна с точки зрения загрузки данных/не параллельных операций на бэкэнд?

Вы можете просмотреть такую ​​функциональность в рамках просмотра мониторинга облака & с Appstats: https://cloud.google.com/appengine/docs/python/tools/appstats

Однако, если то, что на самом деле вы являетесь после настройки appengines «масштабирование» параметров конфигурации, что ваши после того, как, вероятно, более рядный с следующее:

application: app 
version: 2-01 
runtime: python27 
instance_class: F4 
automatic_scaling: 
automatic_scaling: 
    min_idle_instances: 1 
    max_idle_instances: automatic 
    min_pending_latency: automatic 
    max_pending_latency: automatic 
api_version: 1 
threadsafe: false 
+0

Спасибо за подсказку об appstats, я попробую установить это и посмотреть, что я нахожу. Когда я попытался заменить настройки, которые у меня были с тем, что вы разместили выше, он дал мне ошибку об избыточном «auto_scaling». Поэтому я удалил это, и он вернулся, чтобы дать мне ошибку о пользовательских настройках производительности. Все, что я хочу сделать, - это расширить наши экземпляры, чтобы приложение не запускалось так медленно. Поскольку я не программировал проект для начала, только что унаследовал его, диагностика проблем с производительностью в приложении может быть вне меня в данный момент. Есть ли простой способ просто увеличить производительность? –

+0

Если у вас есть избыточное сообщение, это более чем вероятно означает, что у вас есть тот же самый параметр дважды в файле app.yaml. Если вы можете просмотреть существующий файл app.yaml и обновить свой вопрос с помощью существующих настроек масштабирования. – Jesse

0

Если вы используете модули (не то же самое, чем импортировать модули), вы должны настроить Performace settins в каждом файле module.yaml. Параметры app.yaml или настройки на панели администратора больше не используются при запуске развертывания модулей.

+0

Я не думаю, что приложение использует модули, у него нет файлов module.yaml. Если это так, мне нужно преобразовать приложение, чтобы он использовал модули? Я искал инструкции о том, как это сделать, и не мог найти их. Или есть способ настроить производительность в не-модульном приложении? –

Смежные вопросы