2012-01-28 2 views
3

Я запускаю бесплатное приложение и используя 1 max idle-экземпляр, используя среду выполнения Python от GAE.задержка экземпляра в Google App Engine

Согласно http://code.google.com/appengine/docs/adminconsole/instances.html,

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

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

Однако, по словам http://code.google.com/appengine/docs/adminconsole/performancesettings.html#Setting_the_Minimum_Pending_Latency,

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

Так что латентность в основном представляет собой компромисс между способностью реагировать на запросы шипов (высокая латентность) по сравнению с количеством запросов, обрабатываемых за данный период времени (низкая латентность)?

+0

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

ответ

3

«Ожидаемая латентность» относится к тому, как долго запрос может находиться в очереди до того, как App Engine решит развернуть другой экземпляр. Если во время поступления запроса все экземпляры вашего приложения заняты, запрос будет ждать в очереди, которая будет обрабатываться следующим доступным экземпляром. Если он находится за пределами минимума, App Engine может решить запустить новый экземпляр для обработки запроса. (Существует также максимальная ожидаемая настройка задержки, которую вы можете настроить.)

Минимальная ожидаемая латентность настраивается, поскольку запуск нового экземпляра требует времени и затрат. Большее минимальное ожидаемое время ожидания означает, что App Engine будет удерживать ожидающие запросы дольше (и заставлять их ждать) перед запуском новых экземпляров, предпочитая стоимость экземпляра способности обрабатывать больше трафика. Меньшая минимальная ожидаемая латентность означает, что App Engine будет запускать новые экземпляры чаще, по мере того, как трафик забирается.

Термин «латентность» просто означает, сколько времени требуется, чтобы приложение отвечало на запрос. Чем быстрее ваше приложение сможет отвечать на запросы, тем больше запросов обрабатывает один экземпляр, и чем короче очередь запросов, как правило, будет. Более низкая латентность всегда хороша, но приложение может делать то, что нужно делать быстро.

+0

Привет, Дэн, хотя вашему ответу 4 года, это все еще актуально. В чем разница между ' и' '? –

+0

Оба значения относятся к тому, когда автоматический сканер принимает решение о запуске нового экземпляра, когда он замечает невыполненные запросы в ожидающей очереди. В минимуме говорится: «Не пытайтесь запустить новый экземпляр до тех пор, пока запрос не будет сидеть, по крайней мере, так долго». Максимум говорит: «Если запрос сидит долго, начните новый экземпляр». Некоторое расстояние между этими двумя значениями или значение «автоматическое» для максимального (по умолчанию), дает разрешение на сканирование, чтобы угадать, какие ресурсы понадобятся, когда. Ссылка: https://cloud.google.com/appengine/docs/python/config/appref#min_pending_latency –