Вопрос по – Почему GAE запустил второй экземпляр с Max Idle Instances, установленным в 1

5

Я использую Google Ap Engine с включенным статусом биллинга.
Свободные экземпляры установлены на: (1 & # x2013; 1)

enter image description here

И имея только 2 клиента на моем сервисе, иногда я видел второй экземпляр. Проблема состоит в том, что запуск нового экземпляра занимает 15 секунд (весна и время).

enter image description here

80Mb памяти - это высота для одного экземпляра?
Журнал для нового экземпляра: / _ah / warmup 200 14580ms 0kb
Второй экземпляр исчезает через несколько секунд.

Почему с 3-4 запросами GAE запускает второй экземпляр ?? Первый ничего не делает (почти)!

Я попытался изменить "Ожидание задержки" безуспешно.

Решение ? :)

Спасибо

Я согласен с тобой, Ян; но почему в динамическом у него есть «1» Запросы. Это то же поведение, что и у меня, но оно не имеет смысла для меня, потому что на данный момент это уже не цикл прогрева, а реальный цикл запроса дескриптора. И обработанный запрос имеет большую задержку. Michele Orsi
Я думаю, что это поведение вполне нормально. Всякий раз, когда поступают запросы, GAE запускает незанятые экземпляры, чтобы иметь возможность эффективно обслуживать предстоящие запросы. Это просто для того, чтобы обеспечить всем клиентам хорошую производительность. Я думаю, что мы можем сравнить это поведение с тем, как работает пул соединений в базах данных. Также смlink Jan Petzold

Ваш Ответ

2   ответа
3

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

Error: User Rate Limit Exceeded Samuel
Error: User Rate Limit Exceeded
1

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

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

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

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Samuel

Похожие вопросы