Изменение поведения в Google Cloud Load Balancer, и как балансировщик нагрузки решает порождать больше экземпляров?
У нас есть веб-приложение, работающее на Google Cloud. Это все еще в разработке в настоящее время. У нас есть балансировщик нагрузки, привязанный к трем отдельным группам экземпляров для трех разных функций, все они работают на серверах Tomcat 8.
Одна из этих групп экземпляров, я назову ее группой отчетов, в течение нескольких месяцев работала с одним и тем же файлом WAR, и мы просто за последний час обновили его.
До обновления я никогда не видел, чтобы группа отчетов превышала ни одного экземпляра. Непосредственно перед обновлением я посмотрел Tomcat Manager в этом экземпляре, и он показывал более тысячи активных сессий.
После обновления мы запустили тест, и у POOF у нас было два экземпляра, и, глядя на их менеджеров Tomcat, каждый из них показывал несколько сотен сессий, но общая сумма составляла менее 1000. В какой-то момент, когда я печатал это, это кратко дошло до четырех случаев.
Может кто-нибудь подсказать мне, что произошло, почему изменилось поведение и как балансировщики нагрузки и группы экземпляров решили порождать дополнительные экземпляры?
И как не допустить размножения экземпляров, как чрезмерно резвых песчанок?
1 ответ
Если вы используете группу экземпляров, балансировщики нагрузки не принимают никакого решения на умножение, как резвые песчанки. Чтобы разрешить автоматическое масштабирование в группе управления экземплярами, необходимо настроить некоторые из следующих политик:
- Средняя загрузка процессора.
- Обслуживающая емкость балансировки нагрузки HTTP, которая может быть основана на использовании или запросах в секунду. Это использование внутреннего сервиса с группами экземпляров.
- Stackdriver Мониторинг показателей.
Проверьте в своем проекте GCP конфигурацию своего балансировщика нагрузки и группы экземпляров, чтобы узнать, какую политику вы настроили.
Что касается файла war, если вы внесли изменения в файл кода, новая версия может использовать больше ресурсов, чем предыдущая. В новой версии может быть меньше сеансов, но использование процессора или памяти может быть более высоким. Если это пользовательский файл.war, вы можете проверить в своем исходном коде, какие изменения вы вносите, и как это повлияет на вашу инфраструктуру.