Хобрук: Ваш путь к мастерству в программировании

Динамические экземпляры: почему так много? могут ли они быть ограничены?

Я поддерживаю производственное приложение в GAE. Количество «динамических» экземпляров у нас кажется очень большим. Согласно нашему app.yaml, это должны быть экземпляры F4. Некоторые из этих инстансов обслуживают много запросов, а другие очень мало (см. рис. ниже). Понятия не имею почему.

мои вопросы:

  1. почему одни экземпляры очень заняты, а другие нет?
  2. Могу ли я ограничить количество динамических экземпляров?

введите здесь описание изображения

РЕДАКТИРОВАТЬ: я добавляю здесь некоторые подробности:

  1. на рисунке выше показано несколько динамических экземпляров. их намного больше - целых 24 всего.
  2. В app.yaml мы настроили 1 мин/макс бездействующих экземпляров. это (предположительно) отображается как единственный «резидентный» экземпляр, который у меня есть.
  3. ниже приведена часть моего файла app.yaml, которая имеет отношение к делу.
  4. Я понимаю, что простаивающая машина срабатывает, когда другие машины не справляются с нагрузкой. возможно, это вызвано запросами, которые выполняются слишком долго (и, возможно, поэтому у меня так много динамических машин?)
runtime: python27
api_version: 1
threadsafe: yes
instance_class: F4
automatic_scaling:
  min_idle_instances: 1
  max_idle_instances: 1
....
libraries:
- name: webapp2
  version: "2.5.1"
- name: ssl
  version: latest
inbound_services:
- warmup
01.01.2018

  • Можете ли вы поделиться соответствующей информацией из вашего файла app.yaml? Существует документация по настройке количества экземпляров, но это помогает узнать, какие настройки вы используете в настоящее время и как выглядят ваши модели трафика, чтобы вносить предложения. 01.01.2018
  • @erichiggins: я добавил больше деталей. Спасибо! 02.01.2018
  • Да, довольно изменчивый шаблон трафика, по крайней мере, для некоторых запросов, имеющих длительное время ответа, может объяснить то, что вы видите. Попробуйте установить для min_pending_latency значение, превышающее максимальное типичное время отклика. См. cloud.google.com/appengine/docs/standard/python/config/appref#scaling_elements. 02.01.2018
  • Исходя из памяти, основанной на том, что я сам столкнулся с этой проблемой год или два назад, я, кажется, припоминаю, что трафик смещен в сторону ваших резидентных экземпляров. Другими словами, вы должны ожидать, что они будут получать больше трафика, поскольку они всегда работают, тогда как динамические экземпляры раскручиваются вверх/вниз в зависимости от шаблонов трафика. Надеюсь, это соответствует тому, что вы видите в своем использовании, но я, кажется, припоминаю, что видел некоторые странные несоответствия с этим в прошлом. 02.01.2018
  • @erichiggins на самом деле все наоборот, см. " title="как остановить экземпляры Google appengine, когда они не используются"> stackoverflow.com/questions/47246060/ 03.01.2018
  • @DanCornilescu А, понял. Спасибо, что освежили мою память и разъяснили! 03.01.2018

Новые материалы

Создание успешной организации по науке о данных
"Рабочие часы" Создание успешной организации по науке о данных Как создать эффективную группу по анализу данных! Введение Это обзорная статья о том, как создать эффективную группу по..

Технологии и проблемы будущей работы
Изучение преимуществ и недостатков технологий в образовании В быстро меняющемся мире технологии являются решающим фактором в формировании будущего работы. Многие отрасли уже были..

Игорь Минар из Google приедет на #ReactiveConf2017
Мы рады сообщить еще одну замечательную новость: один из самых востребованных спикеров приезжает в Братиславу на ReactiveConf 2017 ! Возможно, нет двух других кланов разработчиков с более..

Я собираюсь научить вас Python шаг за шагом
Привет, уважаемый энтузиаст Python! 👋 Готовы погрузиться в мир Python? Сегодня я приготовил для вас кое-что интересное, что сделает ваше путешествие более приятным, чем шарик мороженого в..

Альтернатива шаблону исходящих сообщений для архитектуры микросервисов
Познакомьтесь с двухэтапным сообщением В этой статье предлагается альтернативный шаблон для папки Исходящие : двухэтапное сообщение. Он основан не на очереди сообщений, а на..

React on Rails
Основное приложение Reverb - это всеми любимый монолит Rails. Он отлично обслуживает наш API и уровень просмотра трафика. По мере роста мы добавляли больше интерактивных элементов..

Что такое гибкие методологии разработки программного обеспечения
Что представляют собой гибкие методологии разработки программного обеспечения в 2023 году Agile-методологии разработки программного обеспечения заключаются в следующем: И. Введение A...