2012-07-04 5 views
4

Я пытаюсь оценить ежемесячные затраты на наличие GAE для магазина в приложении, и я действительно не понимаю, что такое экземпляр, и что я могу сделать в одном экземпляре.Что такое экземпляр Google App Engine?

Могу ли я иметь один экземпляр с несколькими потоками для работы с несколькими клиентами? И поскольку у меня есть 28 часов бесплатного экземпляра на каждое приложение за день (http://cloud.google.com/pricing/), значит, я не буду платить за то, что мое серверное приложение работает все время?

ответ

2

Экземпляр - это экземпляр виртуального сервера, который запускает ваш код, который может обслуживать запросы клиентов. Обычно это выполняется параллельно (Goroutines, потоки Java, потоки Python с 2,7) для наиболее эффективного использования доступных ресурсов.

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

Часть сделки с GAE заключается в том, что Google обрабатывает эластичность для вас. Если ожидается много ожидающих соединений, новые экземпляры начнутся по мере необходимости (пока ваша квота не будет исчерпана). Это означает, что сложно оценить стоимость заранее, потому что вы не знаете точно, насколько эффективен ваш код и сколько ресурсов вам нужно. Я рекомендую схему, где большее использование означает больший доход, а доход за запрос выше, чем стоимость за запрос. :)

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

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

Свободный экземпляр, как правило, способен обрабатывать пробный трафик во время разработки без исчерпания квоты.

0

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

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