2016-12-02 5 views
3

Google довольно хитер о своих бизнес-стратегиях. Этот вопрос касается квот и экземпляров Google App Engine.Как работает AutoScaling Google App Engine?

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

Кроме того, так происходит автоматическое масштабирование 28 бесплатных часов в день (и это возможно только для экземпляра frontend), но экземпляры backend предлагают 9 часов в день (с ручным и базовым масштабированием, даже если вы укажете только 1 для ручного масштабирования).

Итак, теперь, если вы хотите бесплатно использовать небольшое приложение GAE, вы бы выбрали внешние экземпляры (поскольку они были бы бесплатными, если вам нужен только один экземпляр). Но они также имеют автоматическое масштабирование! АГА! Таким образом, это означает, что они могут масштабироваться без вашего ведома, и вы можете легко перерегулировать 28 часов в день.

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

+0

Сделайте больше исследований, прежде чем считать, что вас сорвали. не смешно. и очень хорошо объяснены в их документах. –

+0

И все же нет ответа на то, сколько запросов/каждого класса экземпляра может обслуживать до появления нового экземпляра. Разумеется, объяснение их документов логично: экземпляр обслуживает запросы, пока он больше не сможет их обслуживать, а затем новые запросы отправляются в новый экземпляр spun. Но разве вы не думаете, что предоставление номера поможет? Их документы огромны, поэтому простите меня, если я что-то пропустил, но я бы не сделал каких-либо смелых утверждений в моем вопросе, если бы нашел ответ после достаточного поиска. – user1056585

+0

В качестве примера, это то, что говорится в документах Heroku о dynos: https: //devcenter.heroku.com/articles/dynos#dynos-and-requests. По крайней мере, пользователь знает, что они хороши вплоть до 1000 запросов в секунду (конечно, учитывая их латентность). – user1056585

ответ

1

На самом деле это довольно хорошо объяснено.

От Scaling dynamic instances:

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

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

Можно настроить параметры для автомасштабирования см Change auto scaling performance settings и Scaling elements

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